问题描述
1)创建目录时,用户可以输入如:aaa/bbb/ccc这样的层次结构。2)删除目录时,要求把其中含有的所有子目录、文件同时删除。3)创建文件时,用户可以输入类似:aaa/bbb/a.txt这样的格式4)删除文件时,也可以指定目录层次只有这四个要求,代码越简单越好,希望能够加上注释让俺看看
解决方案
解决方案二:
importjava.io.File;importjava.util.regex.Matcher;importjava.util.regex.Pattern;importjavax.swing.JOptionPane;/***1)创建目录时,用户可以输入如:aaa/bbb/ccc这样的层次结构。2)删除目录时,要求把其中含有的所有子目录、文件同时删除。3)创建文件时,用户可以输入类似:aaa/bbb/a.txt这样的格式4)删除文件时,也可以指定目录层次***/publicclassFile1{publicvoidnewDir()throwsException{Stringname=JOptionPane.showInputDialog("请需要创建的文件路径");//如果输入格式包含文件名,则创建文件夹同时创建文件if(name.endsWith(".txt")){Patternp=Pattern.compile(".*(?=/\w+\.t\w+)");Matcherm=p.matcher(name);while(m.find()){Strings=m.group();newFile(s).mkdirs();newFile(name).createNewFile();}}else{//如果输入aaa/bbb/ccc这样的层次结构newFile(name).mkdirs();}}publicvoiddelete(){Stringname=JOptionPane.showInputDialog("请输入文件路径");fun(name);}publicvoidfun(Stringname){//循环遍历输入文件夹中所有文件Filefile=newFile(name);File[]files=file.listFiles();for(Filef:files){//请勿尝试删除功能//f.delete();System.out.println(f.getPath());if(f.isDirectory()&&f.length()!=0){fun(f.getPath());}}}publicstaticvoidmain(String[]args)throwsException{File1f=newFile1();f.newDir();f.delete();}}
解决方案三:
Quote: 引用1楼qiaoqiao7370的回复:
先谢过这位老师我去找了找CSDN的代码大概这样的最好能在DOS操作就行还希望能够得到帮助只要创建、删除两个功能即可;)
解决方案四:
参考下File类的API就可以了
解决方案五:
1)创建目录时,用户可以输入如:aaa/bbb/ccc这样的层次结构。3)创建文件时,用户可以输入类似:aaa/bbb/a.txt这样的格式4)删除文件时,也可以指定目录层次上面三条查询一下File的API3个方法3行代码就能搞定2)删除目录时,要求把其中含有的所有子目录、文件同时删除。这个可以用递归方式参照下面importjava.io.*;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Date;importjava.util.HashSet;importjava.util.List;importjava.util.Set;publicclassdel{staticStringBuffersb=newStringBuffer();staticDatedd=newDate();publicstaticvoidmain(String[]args)throwsSQLException,ParseException,IOException{tree(newFile("d:\src"));}//显示目录的方法publicstaticvoidtree(Filef)throwsIOException{//判断传入对象是否为一个文件夹对象if(!f.isDirectory()){System.out.println("你输入的不是一个文件夹,请检查路径是否有误!!");}else{File[]t=f.listFiles();for(inti=0;i<t.length;i++){//判断文件列表中的对象是否为文件夹对象if(t[i].isDirectory()){//输出文件夹名字if(".svn".equals(t[i].getName())){System.out.println(t[i].getPath());del(t[i].getPath());//System.out.println(t[i].delete());}tree(t[i]);}else{}}}}publicstaticvoiddel(Stringfilepath)throwsIOException{Filef=newFile(filepath);//定义文件路径if(f.exists()&&f.isDirectory()){//判断是文件还是目录if(f.listFiles().length==0){//若目录下没有文件则直接删除f.delete();}else{//若有则把文件放进数组,并判断是否有下级目录FiledelFile[]=f.listFiles();inti=f.listFiles().length;for(intj=0;j<i;j++){if(delFile[j].isDirectory()){del(delFile[j].getAbsolutePath());//递归调用del方法并取得子目录路径}delFile[j].delete();//删除文件}}}}}时间: 2024-09-29 01:52:05