不能删除文件,出现“源文件名长度大于系统支持的长度"

有时候删除windows中的目录的时候,会出现"源文件名长度大于系统支持的长度", 而导致不能删除, 作为一个程序猿, 怎么可以被这个折服呢, 上代码:

import java.io.File;

/**
 * @author 吴庆龙
 * 2015年10月13日 下午1:22:33
 */
public class DeleteFiles {

	public static void deleteFiles( File file ){

		if( file.isDirectory() ){
			// 如果是一个目录, 先查找这个目录下面的所有文件或目录
			// 再根据情况删除
			File[] files = file.listFiles();
			if( files.length == 0 ){
				//如果是一个空目录,直接删除
				file.delete();
			} else {
				// 如果不是空目录, 则递归
				for( File f : files ){
					deleteFiles(f);
					// 递归删除完之后, 再把本目录删除
					f.delete();
				}
			}
		} else {
			// 如果是一个文件,直接进行删除
			file.delete();
		}
	}

	public static void main(String[] args) {
		File file = new File("D:\\Program Files\\MyEclipse2015");
		deleteFiles(file);
	}

}
时间: 2024-10-14 19:08:21

不能删除文件,出现“源文件名长度大于系统支持的长度"的相关文章

源文件名长度大于系统支持的长度

不能删除文件,出现“源文件名长度大于系统支持的长度“: 100%有效方法: 1.把文件夹名字改成‘1’,然后打开文件继续改,一层一层改下去. 2.改了N多层之后,实在不想改了,OK,里层没改的文件夹剪切出来,粘贴到桌面. 3.删除这个文件夹,如果不出意外,应该可以删除了,然后再回过头把那个‘1’文件夹删掉. 4.如果粘贴出来的文件夹还是不能正常删除,那么不要嫌麻烦,继续改名字,继续‘1’,如此往复操作几次,肯定能删掉. 原文地址:https://www.cnblogs.com/dhpong/p/

解决window删除文件时提示: 源文件名长度大于系统支持的长度

import java.io.File; /** */ public class DeleteFiles { public static void deleteFiles( File file ){ if( file.isDirectory() ){ // 如果是一个目录, 先查找这个目录下面的所有文件或目录 // 再根据情况删除 File[] files = file.listFiles(); if( files.length == 0 ){ //如果是一个空目录,直接删除 file.dele

源文件名长度大于系统支持的长度,无法删除,java主方法执行方式删除

import java.io.File; /** * @author 海盗船长 * 2017年2月14日11:24:26 */ public class DeleteFiles { public static void deleteFiles( File file ){ if( file.isDirectory() ){ // 如果是一个目录, 先查找这个目录下面的所有文件或目录 // 再根据情况删除 File[] files = file.listFiles(); if( files.leng

批量删除本地指定扩展名文件工具

VC工具在编译时,会生成大量临时文件,占用很多空间,项目多了,手动删除就会很费力,所以我做了个小工具,可以批量删除指定目录,指定扩展名的文件. 此工具根据配置文件指定的扩展名删除文件,一般我删除VC的扩展名为:.ipch.pdb.pch.sdf.tlog.obj.idb.ilk.res.根据需要,自行配置. 下载地址:http://download.csdn.net/detail/yxstars/8201833 下面是一些vc扩展名的含义: .APS:存放二进制资源的中间文件,VC把当前资源文件

Windows删除删除文件提示无法读源文件或磁盘解决方法

创建一份文本文档,写入以下二行代码: DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 保存后,把TXT改成BAT批处理格式 把要删的文件拖到这个批处理文件上,会自动运行并删除. Windows删除删除文件提示无法读源文件或磁盘解决方法,布布扣,bubuko.com

批量删除文件扩展名

目录中有如下两个文件 1.txt.file touch 2.txt.file 想要实现删除.file,即扩展名,可通过以下脚本快速实现 for file in $(ls *.file);do ext=${file%.*};mv $file $ext;done 其中${file%.*}为获取文件名,mv$file $ext为重命名操作 附加:echo ${file##*.}      可获取文件的扩展名       echo ${file%.*}       可获取文件名 [email prote

ArrayList中remove()方法删除长度大于5的元素之后下标重定位的问题

1.问题阐述 需求: 有一个ArrayList数组,要求删除长度大于5的字符串,如:arr = {"ab1","123ad","bca","dadfadf","dddaaa","你好啊","我来啦","别跑啊"}: 要求结果输出: {"ab1","123ad","bca","你好

FOR循环删除文件后缀名

工作目录下有1.txt,2.txt,3.txt...10.txt,10个文件,如下所示: -rw-r--r-- 1 root root 0 2月  24 14:59 10.txt-rw-r--r-- 1 root root 0 2月  24 14:59 1.txt-rw-r--r-- 1 root root 0 2月  24 14:59 2.txt-rw-r--r-- 1 root root 0 2月  24 14:59 3.txt-rw-r--r-- 1 root root 0 2月  24

定时删除文件夹"$1"下最后修改时间大于当前时间"$2"天的文件

shell 脚本: #!/bin/bash now=`date "+%Y-%m-%d_%H:%M:%S"`      #获取当前时间 echo "当前时间: "$now now=`date +%s`            #获取当前时间戳   单位:秒 echo "当前时间戳: "$now function getdir(){          #遍历文件夹和文件夹下所有的文件 #    echo "删除文件夹"$1"