資源簡介
運行方法: 運行\src\waves\chj包下面的FileManager.java文件就可以了。
沒積分的朋友:
https://pan.baidu.com/s/1mxTHQjohm1hHY5OB4vQEsA
lxe8
運用面向對象程序設計思想,基于Java文件管理和I/O框架,實現基于圖形界面的GUI文件管理器。
1、實現文件夾創建、刪除、進入。
2、實現當前文件夾下的內容羅列。
3、實現文件拷貝和文件夾拷貝(文件夾拷貝指深度拷貝,包括所有子目錄和文件)。
4、實現指定文件的加密和解密。
5、實現指定文件和文件夾的壓縮。
6、實現壓縮文件的解壓。
7、文件管理器具有圖形界面。
建議使用Eclipse打開項目。

代碼片段和文件信息
package?waves.backup;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.InputStream;
import?java.io.OutputStream;
import?java.util.zip.ZipEntry;
import?java.util.zip.ZipFile;
import?java.util.zip.ZipInputStream;
import?java.util.zip.ZipOutputStream;
public?class?FileCompress?{
public?static?void?main(String[]?args)?{
String?filePath1?=?“demo/zipTest“;
String?zipPath?=?“demo/zipTest.zip“;
String?filePath2?=?“demo/zipOutput“;
zipCompress(filePath1?zipPath);
zipDecompress(zipPath?filePath2);
}
//壓縮
public?static?void?zipCompress(String?filePath?String?zipPath){
????????try{
????????????File?file?=?new?File(filePath);?
????????????ZipOutputStream?zipOut?=?new?ZipOutputStream(new?FileOutputStream(zipPath));
????????????String?path?=?““;
????????????zipOut.setComment(“this?is?comment?!!“);
????????????fileCompress(zipOut?file?path);
????????????zipOut.close();
????????}catch(Exception?e){
????????????e.printStackTrace();
????????}
????}
public?static?void?fileCompress(ZipOutputStream?zipOut?File?file?String?cPath)?{
try{
if(file.isDirectory()){
????File[]?files?=?file.listFiles();
????if?(files.length?==?0)?{?//?空文件夾
???? zipOut.putNextEntry(new?ZipEntry(cPath?+?file.getName()?+?“/“));?
????}
????for(int?i?=?0;?i? ???? fileCompress(zipOut?files[i]?cPath?+?file.getName()?+?File.separator);
}?
else?{
InputStream?input?=?new?FileInputStream(file);
????????zipOut.putNextEntry(new?ZipEntry(cPath?+?file.getName()));
????????int?temp?=?0;
????????while((temp?=?input.read())?!=?-1){
????????????zipOut.write(temp);
????????}
????????input.close();
}
}catch(Exception?e){
????????e.printStackTrace();
????}
}
????//解壓
public?static?void?zipDecompress(String?zipPathString?filePath){
????????try?{
????????????File?file?=?new?File(zipPath);
????????????ZipFile?zipFile?=?new?ZipFile(file);
????????????ZipInputStream?zipInput?=?new?ZipInputStream(new?FileInputStream(file));
????????????ZipEntry?entry?=?null;
????????????InputStream?input?=?null;
????????????OutputStream?output?=?null;
????????????while((entry?=?zipInput.getNextEntry())?!=?null){?
???????????? File?outFile?=?new?File(filePath?+?File.separator?+?entry.getName());
????????????????if?(entry.isDirectory())?{ //?空文件夾
???????????????? outFile.mkdirs();
???????????????? continue;
????????????????}?
????????????????if(!outFile.getParentFile().exists()){
????????????????????outFile.getParentFile().mkdirs();
????????????????}
????????????????input?=?zipFile.getInputStream(entry);
????????????????output?=?new?FileOutputStream(outFile);
????????????????int?len?=?0;
????????????????byte[]?buf?=?new?byte[1024];
????????????????while((len?=?input.read(buf))?!=?-1){
????????????????????output.write(buf?0?len);
????????????????}
????????????????input.close();
????????????????outpu
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????392??2018-05-05?16:05??FileManager\.classpath
?????文件????????387??2018-04-30?16:56??FileManager\.project
?????文件????????592??2018-04-26?19:32??FileManager\.settings\org.eclipse.jdt.core.prefs
?????文件???????3659??2018-06-11?14:40??FileManager\bin\waves\backup\FileCompress.class
?????文件???????3130??2018-06-11?14:40??FileManager\bin\waves\backup\FileEncrypt.class
?????文件???????1566??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$1.class
?????文件???????1794??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$10.class
?????文件???????1700??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$11.class
?????文件???????1704??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$12.class
?????文件????????778??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$13.class
?????文件???????1026??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$2.class
?????文件???????1366??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$3.class
?????文件????????719??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$4.class
?????文件???????1569??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$5.class
?????文件????????937??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$6.class
?????文件???????1857??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$7.class
?????文件???????1620??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$8.class
?????文件???????1791??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager$9.class
?????文件???????8473??2018-06-11?14:40??FileManager\bin\waves\backup\FileManager.class
?????文件???????2741??2018-06-11?14:40??FileManager\bin\waves\backup\FileProcess.class
?????文件???????2016??2018-06-11?14:40??FileManager\bin\waves\backup\MyCellRenderer.class
?????文件???????4063??2018-06-11?15:31??FileManager\bin\waves\chj\FileEncrypt.class
?????文件????????963??2018-06-11?15:15??FileManager\bin\waves\chj\FileManager$1.class
?????文件???????2502??2018-06-11?15:15??FileManager\bin\waves\chj\FileManager$10.class
?????文件????????927??2018-06-11?15:15??FileManager\bin\waves\chj\FileManager$11.class
?????文件????????890??2018-06-11?15:15??FileManager\bin\waves\chj\FileManager$12.class
?????文件????????890??2018-06-11?15:15??FileManager\bin\waves\chj\FileManager$13.class
?????文件???????1537??2018-06-11?15:15??FileManager\bin\waves\chj\FileManager$14.class
?????文件???????1815??2018-06-11?15:15??FileManager\bin\waves\chj\FileManager$15.class
?????文件???????1181??2018-06-11?15:15??FileManager\bin\waves\chj\FileManager$16.class
............此處省略166個文件信息
- 上一篇:android倒計時器
- 下一篇:讀者寫者問題圖形界面--Java
評論
共有 條評論