• 大小: 163KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: Java
  • 标签: Java  

资源简介

运行方法: 运行\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 < files.length; ++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个文件信息

评论

共有 条评论