源文件名长度大于文件系统支持的长度问题的解决

 时间:2024-10-14 02:05:08

1、将下列代码复制进入记事本,保存为Delete.java。

2、import java.io.File;import java.io.IOException;import java.util.List;import java.util.ArrayList;/*** @Author ...* @Date 2017.10.1**/public class Delete { public static final int MAX_DOT_NUM = 30; public static List<File> fileList = new ArrayList<File>(); public static void main(String[] args) { if( args.length < 1 ){ System.out.println("实现功能:删除指定的文件、文件夹及其包含的文件和子目录列表(对Windows操作系统不支持的层次较深的目录也有效)。"); System.out.println(); System.out.println("命令格式:java Delete [filename | pathname]"); System.out.println("\tfilename\t文件名"); System.out.println("\tpathname\t目录名"); System.out.println(); System.out.println("示例:"); System.out.println("\tjava Delete d:\\test.txt"); System.out.println("\tjava Delete \"d:\\hello world\""); System.out.println("\t说明:文件夹包含空格符号时,请用引号将文件名或目录名括起来"); System.out.println(); return; } try{ System.out.print("开始处理,请耐心等待..."); long startTime=System.currentTimeMillis(); int count = delete(args[0]); long stopTime=System.currentTimeMillis(); System.out.print("处理结束,处理文件(或目录)" + count + "个,"); System.out.println("花费时长:"+((stopTime-startTime)/1000)+"秒"); }catch(Exception ex){ ex.printStackTrace(); } } /** * 删除指定名称的文件或文件夹(包含其子文件夹和文件) * * @param filename 文件或文件夹名称 * @throws IOException */ public static int delete(String filename) throws IOException{ int count = 0; boolean bPlayMovies = true;/*设为false时关闭删除时的动画;*/ File f = new File(filename); if( !f.exists() ){ System.out.println( "\r\n指定的文件或文件夹" + f + "不存在!"); return 0; } fileList.add(f); boolean isplus = false; while( fileList.size()>0 ){ if( bPlayMovies ){ if( count % MAX_DOT_NUM == 0 ){ isplus = !isplus; } } File tmp = fileList.get(fileList.size()-1); if( tmp.isDirectory() ){ /*处理文件夹*/ File[] files = tmp.listFiles(); if( files.length > 0 ){ /*如果该文件夹下包含文件或子文件夹*/ for(File file : files){ fileList.add(file); } } else{ fileList.remove(fileList.size()-1); tmp.getAbsoluteFile().delete(); count++; if( bPlayMovies ){ playMovies( isplus ); } } }else{ /*处理文件*/ fileList.remove(fileList.size()-1); tmp.delete(); count++; if( bPlayMovies ){ playMovies( isplus ); } } } if( bPlayMovies ){ playMovies( false ); } System.out.println(); return count; } public static void playMovies(boolean isplus){ if( isplus ){ System.out.print("."); }else{ for( int j = MAX_DOT_NUM; j > 0; j--){ System.out.print("\b \b"); } } }}

3、使用javac编译代码文件:javac Delete.java。

4、运行代码:java Delete "待删除的深文件夹"。无参数运行,即"java Delete"会打印帮助说明。

  • 解决源文件名长度大于文件系统支持的长度问题
  • 文件名长度大于文件系统支持长度无法删除怎么办
  • 解决源文件名长度大于文件系统支持的长度问题
  • 提示源文件名长度大于文件系统支持的长度怎么办
  • 不能删除文件,出现“源文件名长度大于系统支持的长度
  • 热门搜索
    交通的手抄报 六年级手抄报大全 科学手抄报的资料 爱护地球手抄报 感恩的心手抄报大全 美德少年手抄报资料 垃圾分类的手抄报 安全的手抄报图片 好人好事手抄报 小学垃圾分类手抄报