资源简介
运行方法: 运行\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个文件信息
- 上一篇:android倒计时器
- 下一篇:读者写者问题图形界面--Java
相关资源
- java笔试题大全java笔试,面试笔试,逻
- Windows bat 设置Java环境变量
- java 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
评论
共有 条评论