请问用java 如何实现逻辑删除文件?

我在做一个删除磁盘文件的程序,里面有删除、还原功能,可以用先删除的文件,然后再还原,但用java删除的文件不在回收站中,请问该用什么方法实现java的逻辑删除?... 我在做一个删除磁盘文件的程序,里面有删除、还原功能,可以用先删除的文件,然后再还原,但用java删除的文件不在回收站中,请问该用什么方法实现java的逻辑删除? 展开
 我来答
zaoliqi
2011-01-11 · 超过33用户采纳过TA的回答
知道答主
回答量:149
采纳率:0%
帮助的人:89.6万
展开全部
把文件名用数据库管理起来,

先确定某个目录下放置你逻辑删除的文件,

每次删除文件把原路径和删除后的保存的路径放置到数据库,

当你需要还原的时候通过查询数据库再拷回去就可以了.

当然你想做直接删除也可以,不放入数据库直接删就行了

事实上windows 也是这样管理的,删除时移动到回收站而已,不过比这个有效率多了.
dywlhnt
推荐于2017-09-29 · TA获得超过204个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:100万
展开全部
可以直接定义一个逻辑上的回收站
凡是通过你程序删除的都放你自己的回收区,回收区中删除算是物理删除
在你程序的磁盘文件展示区中过滤掉回收区内容
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
战奴飞飞
2011-01-11 · TA获得超过294个赞
知道答主
回答量:182
采纳率:0%
帮助的人:82.2万
展开全部
大概思路:所谓逻辑删除不是真删除(物理删除),所以建议做个临时文件目录,将删除的文件放到临时文件目录,恢复就从临时文件目录的文件放回原目录.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-01-11
展开全部
删除文件夹包括以下几种情况:

文件夹里的文件,文件夹里面的子文件夹(有文件),文件夹里面的子文件夹(空文件夹)。所以程序要针对这三种情况写。

import java.io.File;

public class Test {
public static void main(String args[]) {
Test t = new Test();
delFolder("c:/bb");
System.out.println("deleted");
}

// 删除文件夹
// param folderPath 文件夹完整绝对路径

public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); // 删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); // 删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}

// 删除指定文件夹下所有文件
// param path 文件夹完整绝对路径
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);// 再删除空文件夹
flag = true;
}
}
return flag;
}
}

这应该全了,有清楚的可以继续提问,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式