91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 11KB
    文件類型: .zip
    金幣: 1
    下載: 1 次
    發(fā)布日期: 2021-06-18
  • 語言: Java
  • 標(biāo)簽: java??

資源簡介

這是學(xué)校數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)課程的PJ,旨在實(shí)現(xiàn)類似zip軟件的壓縮與解壓功能。我在幾乎有空就在寫代碼的情況下兩周完成了這個(gè)項(xiàng)目。 目前網(wǎng)上能夠搜索到的資料對(duì)于單個(gè)文件和文本文件的壓縮與解壓較多,而對(duì)文件夾與大文件的壓縮與解壓較少。所以想在這里把自己的一些想法和思路寫下來,供大家交流與參考。因?yàn)樽约耗壳罢谧x大二,這也是自己寫的第一篇CSDN博客,之前只學(xué)過C與C++,java是純自學(xué)的,并且這也是用java寫的第一個(gè)PJ,所以寫得比較爛,希望有前輩能夠指點(diǎn)指點(diǎn)!

資源截圖

代碼片段和文件信息

package?HRJ;

import?java.io.*;
import?java.util.ArrayList;
import?java.util.ArrayList;
import?java.util.ArrayList;

public?class?Assistance?{
????//得到壓縮文件的文件名
????public?static?String?gettargetname(String?filename)?{
????????File?file?=?new?File(filename);
????????String?targetname?=?““;
????????if?(file.isFile())
????????????targetname?=?filename.substring(0?filename.lastIndexOf(“.“))?+?“.HRJ“;
????????else?if?(file.isDirectory())
????????????targetname?=?filename?+?“.HRJ“;

????????return?targetname;

????}

????//得到文件中的所有文件
????public?static?ArrayList?getAllFilePaths(File?filePath?ArrayList?filePaths)?{
????????File[]?files?=?filePath.listFiles();
????????if?(files?==?null)?{
????????????return?filePaths;
????????}
????????for?(File?f?:?files)?{
????????????if?(f.isDirectory())?{
????????????????filePaths.add(f.getPath());
????????????????getAllFilePaths(f?filePaths);
????????????}?else?{
????????????????filePaths.add(f.getPath());
????????????}
????????}
????????return?filePaths;
????}




????//得到字符頻率表
????public?static?void?readFileByBytes(String?fileName?ArrayList?array)?{

????????Unit?u;
????????for?(int?i?=?0;?i?????????????u?=?new?Unit((char)?i?0);
????????????array.add(u);
????????}
????????File?file?=?new?File(fileName);
????????if?(file.isFile())?{
????????????try?{
????????????????FileInputStream?in?=?new?FileInputStream(file);
????????????????//?一次讀一個(gè)字節(jié)
????????????????byte[]?B?=?new?byte[102400000];
????????????????//遍歷,得到元素及其出現(xiàn)頻率
????????????????int?tempbyte;
????????????????int?leng?i;
????????????????while?((leng?=?in.read(B))?!=?-1)?{
????????????????????for?(i?=?0;?i?????????????????????????tempbyte?=?0?|?(B[i]?&?0x000000ff);
????????????????????????array.get(tempbyte).quantity++;
????????????????????}
????????????????}


????????????????in.close();


????????????}?catch?(FileNotFoundException?e)?{
????????????????e.printStackTrace();
????????????????return;
????????????}?catch?(IOException?e)?{
????????????????e.printStackTrace();
????????????????return;
????????????}
????????}?else?if?(file.isDirectory())?{
????????????ArrayList?fileArrayList?=?new?ArrayList<>();
????????????Assistance.getAllFilePaths(new?File(fileName)?fileArrayList);
????????????for?(String?f?:?fileArrayList)?{

????????????????file?=?new?File(f);
????????????????if?(file.isFile())?{
????????????????????try?{
????????????????????????FileInputStream?in?=?new?FileInputStream(file);
????????????????????????//?一次讀一個(gè)字節(jié)
????????????????????????byte[]?B?=?new?byte[102400000];
????????????????????????//遍歷,得到元素及其出現(xiàn)頻率
????????????????????????int?tempbyte;
????????????????????????int?leng?i;
????????????????????????while?((leng?=?in.read(B))?!=?-1)?{
????????????????????????????for?(i?=?0;?i?????????????????????????????????tempbyte?=?0?|?(B[i]?&?0x000000ff);
????????????????????????????????array.get(tempbyte).quantity++;
????????????????????????????}
????????????????????????}

??????

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????3498??2018-11-08?10:07??Assistance.java
?????文件????????1762??2018-10-29?19:45??Code.java
?????文件????????1966??2018-10-29?19:45??Haffmantree.java
?????文件???????26447??2018-11-08?10:11??Handle.java
?????文件????????2777??2018-11-08?09:57??HRJ.java
?????文件?????????106??2018-11-03?22:41??Main.java
?????文件?????????295??2018-10-29?16:47??Unit.java
?????文件????????5814??2018-11-03?22:41??寮€鍙戞枃妗?

評(píng)論

共有 條評(píng)論

相關(guān)資源