资源简介
运行方法: 运行\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实现
- 牛顿和拉格朗日插值法 java实现 计算
- java 求解非线性方程 二分法牛顿法弦
- 《KNN算法Java实现》KNN算法demo
- Java商品网站
- 简单的java聊天室代码,适合初学者
- java ssm面试题
- Java计算财务收益率XIRR
- 简单java设计 停车场管理系统
- 学生信息管理系统java+sql
- java小游戏适合初学者
- java邮件发送Demo(完整)
- JAVA五子棋游戏简单人工智能算法
- SSD3 exercise7 JAVA 答案 自己做的
- JAVA课程设计:功能比较完善的记事本
- Java游戏重装机兵源代码
- c/c++ 与java互通 AES加密解密,算法EC
- javaee中文API277401
- java计算器程序课程设计报告
- java并发编程内部分享PPT
- 关于Java毕业设计作品
- 寿星天文历Java封装整理版
- java初级练习项目 移动开户
-
Java 读取Apk包名 版本 包含Axm
lResou - java编写的车辆管理系统
- JAVAEE基础学习总结
- jsp人事工资管理系统
- java在线考试项目
- java 课程设计 剪刀石头布 源代码 很
评论
共有 条评论