资源简介
通过Java实现资源管理器,可以进行剪切、复制、粘贴、删除等操作,类似于Windows资源管理器的一些功能。
代码片段和文件信息
package cn.lel.explorer;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.tree.DefaultMutableTreeNode;
public class FileList extends JList {
private long filesize;
//flag控制剪切和复制
private int flag;
private File inPutFile;
private FileTree fileTree = new FileTree();
public long getFilesize() {
return filesize;
}
public void setFilesize(long filesize) {
this.filesize = filesize;
}
public File getInPutFile() {
return inPutFile;
}
public void setInPutFile(File inPutFile) {
this.inPutFile = inPutFile;
}
public int getFlag() {
return flag;
}
public void setFlag(int flag) {
this.flag = flag;
}
public FileList() {
/*----------初始化列表框-------------*/
File file_node = null;
FileTreeModel model2 = (FileTreeModel) fileTree.getModel();
DefaultMutableTreeNode node = (DefaultMutableTreeNode) model2.getChild(
model2.getRoot() 0);
file_node = ((FileNode) node.getUserobject()).file;
setList(file_node.listFiles());
}
// 创建列表框模型,把模型添加到列表中
public void setList(File[] files) {
DefaultListModel listModel = new DefaultListModel();
for (File f : files) {
// 将文件插入到列表模型中
listModel.addElement(f);
}
this.setModel(listModel);
this.setCellRenderer(new cn.lel.explorer.ImageCellRenderer());
}
// srcFile源文件 destDir 目标文件所在的目录
public void copyGeneralFile(File destDir File srcFile) {
if (!srcFile.exists()) { // 源文件或源文件夹不存在
return;
}
if (srcFile.isFile()) { // 文件复制
copyFile(destDir srcFile true);
} else if (srcFile.isDirectory()) { // 文件夹复制
copyDirectory(destDir srcFile true);
}
}
// overwriteExistFile 是否覆盖目标目录下的同名文件 srcFile源文件 destDir 目标文件所在的目录
public void copyFile(File destDir File srcFile boolean overwriteExistFile) {
// 源文件不存在
if (!srcFile.exists() || !srcFile.isFile()) {
return;
}
// 获取待复制文件的文件名
String fileName = srcFile.getName();
//System.out.println(fileName);
File destFile = new File(destDir fileName);
//System.out.println(destFile);
// 源文件路径和目标文件路径重复
if (destFile.getAbsolutePath().equals(srcFile.getAbsolutePath())) {
return;
}
// 目标目录下已有同名文件且不允许覆盖
if (destFile.exists() && !overwriteExistFile) {
return;
}
// 目录不存在并且创建目录失败直接返回
if (!destDir.exists() && !destDir.mkdirs()) { // 目录不存在并且创建目录失败直接返回
return;
}
try {
// method()复制文件
method(destFile srcFile);
} catch (IOException e) {
e.printStackTrace();
}
}
public void copyDirectory(File destDir File srcFile
boolean overwriteExistDir) {
if (destDir.getPath().contains(srcFile.getPath()))
return;
// 源文件夹不存在
if (!srcFile.exists
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-10-30 19:05 myExplorer\
文件 301 2017-10-30 10:59 myExplorer\.classpath
文件 386 2017-10-30 10:59 myExplorer\.project
目录 0 2017-10-30 19:05 myExplorer\.settings\
文件 598 2017-10-30 10:59 myExplorer\.settings\org.eclipse.jdt.core.prefs
目录 0 2017-10-30 19:05 myExplorer\bin\
目录 0 2017-10-30 19:05 myExplorer\bin\cn\
目录 0 2017-10-30 19:05 myExplorer\bin\cn\lel\
目录 0 2017-10-30 19:05 myExplorer\bin\cn\lel\explorer\
文件 5305 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\FileList.class
文件 594 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\FileNode.class
文件 2323 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\FileTree$1.class
文件 1824 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\FileTree$2.class
文件 3585 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\FileTree.class
文件 1788 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\FileTreeModel.class
文件 1758 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\FileTreeRenderer.class
文件 1754 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\FileTreeTest.class
文件 1493 2017-10-30 10:59 myExplorer\bin\cn\lel\explorer\ImageCellRenderer.class
目录 0 2017-10-30 19:05 myExplorer\bin\cn\lel\jfr
文件 2254 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 776 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 554 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 2697 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 1293 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 1005 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 1005 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 1227 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 1216 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 1779 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 774 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
文件 8999 2017-10-30 10:59 myExplorer\bin\cn\lel\jfr
............此处省略13个文件信息
- 上一篇:动态sin和cos函数图像
- 下一篇:图书管理系统数据库课程设计java
相关资源
- JAVA实现ftp客户端的上传、、删除
- 使用java实现Xmodem协议
- java实现坦克大战联机
- Java实现Des加密不用加载包
- Java实现画板Java小程序 模仿Win系统画
- Java实现用户注册 判断是否重复,写到
- Java实现的K-Means算法的动态演示
- 汽车管理系统Java实现 源程序
- java实现截图功能,类似QQ截图
- PGP加密软件Java实现
- java实现的简单电话本通讯录程序
- DES文件加密解密用java实现
- 银行家算法java实现带UI界面修正版
- 数据库课程设计(教学管理系统)(
- Java资源管理器MyExplorer源码
- java实现TCP多客户端与服务器端的通信
- java实现任意带table表格的html页面,生
- 工作日计算的JAVA实现
- java实现的8583发包解包
- java实现的棋盘算法
- 多维k-means聚类算法java实现,导入直接
- java实现邮件发送三种发送方式都有
- GN算法的java实现
- java文件资源管理器
- Apriori算法的Java实现
- 操作系统os页面置换算法java实现Cloc
- java实现socket编程网络通信多人聊天室
- 基于改进dct数字水印的java实现
- Hopfield神经网络的实现(java实现)
- 八数码问题(附实验报告文档java实现
评论
共有 条评论