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 有 260 个字符的限制 (=MAX_PATH),但现在也允许通过其 API.[= 的 Unicode 版本创建最多 32,767 个字符的路径。 12=]

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