资源简介
通过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实现
- [免费]java实现有障碍物的贪吃蛇游戏
- 操作系统作业 (pv,作业管理,等5个
- 一元多项式相加 java实现
- java实现的svn统计修改代码行数完整源
- java实现小型函数画图板(附源代码、
- java实现的搜索引擎
- 数据库设备管理系统课程设计论文J
- Java实现的聊天室,具有群聊和私聊功
- java实现的网络五子棋
- java实现的QQ登录界面
- java实现POS系统源码
- 用Java实现TCP通信
- java实现验证码代码
- Java实现的公交查询系统代码
- 扫描二维码 JAVA实现20190403
- java实现软件锁屏功能
- java实现生成Excel默认.xls,可自己修改
- C#和Java实现互通的RSADES加解密算法
- JS实现AES-GCM加密,java实现AES-GCM解密。
- PDFBOX JAR包
- java实现Socket方式文件批量传输/上传到
- Java实现获取窗口句柄并操作窗口jna
- java实现websocket简单demo
- java实现输入任意两个日期输出月份数
- JAVA实现ICTCLAS2015分词
- 网上超市购物结算功能模拟 java实现
- 24点游戏Java实现
- java实现发送短信验证码功能
- java实现的水果忍者游戏
评论
共有 条评论