繁体   English   中英

Windows无法删除具有大路径的文件

[英]Windows couldn't remove file with large path

Google Web Toolkit(GWT)在temp (C:\\Users\\User01\\AppData\\Local\\Temp)目录中生成大量临时文件。

文件路径示例:

C:\Users\User01\AppData\Local\Temp\gwt-codeserver-1101830889369654349.tmp\com.company01.web.builder.BuildingsWeb\compile-2\gen\com\company01\web\theme\custom_pluto123\client\base\progressbar\Css3ProgressBarAppearance_Css3ProgressBarTemplate_render_SafeHtml__SafeHtml_text__Css3ProgressBarStyles_style__SafeStyles_wrapStyles__SafeStyles_progressBarStyles__SafeStyles_progressTextStyles__SafeStyles_widthStyles___SafeHtmlTemplatesImpl.java

上述文件路径包含437个字符。

当我尝试从Windows资源管理器中删除此类文件时,它崩溃了。 此外,我试图从命令提示符删除或重命名它,它说The filename or extension is too long.

最后我通过运行自定义java程序删除。

现在,我的问题是为什么Windows无法删除它? 如果OS不支持,java如何删除它?

注意:

  • 我在Windows 7旗舰版中使用适当的UAC (以管理员身份运行)尝试了所有上述命令/操作,文件系统是NTFS

Windows有260个字符(= MAX_PATH)的限制,但现在还允许通过其Unicode版本的API创建最多32,767个字符的路径。

Windows资源管理器遗憾地无法处理长路径。

Java似乎使用Unicode API,因此可以创建和删除长路径。

资源:

  1. https://support.microsoft.com/en-us/kb/320081
  2. https://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM