我想访问一个目录中的文件,该目录中包含来自java程序的文件名空格但不访问文件。
场景是我在文件中有文件名。来自该文件的iread文件名,无法在java中打开带空格的文件。
我们正在使用File.exist函数来检查文件是否存在,但它返回false。
我尝试了几种格式来代表空格llike“ab \ c”代表文件名ab c和ab%20c代表相同文件。
但没有任何帮助。
答案 0 :(得分:10)
这对我来说很好。我根本没有逃避它们。
System.out.println(new File("/tmp/test 1/").exists());
确保为操作系统使用正确的文件分隔符。
System.getProperty("file.separator")
答案 1 :(得分:7)
解码路径,就像这样
String decodedPath = URLDecoder.decode(path, "UTF-8");
答案 2 :(得分:2)
在阅读Java时,我从未遇到文件名中的空格问题。只需确保正确地转义路径分隔符。我希望文件名,如果您打算使用Java打印出来,请解析为具有适当访问权限的现有文件。
答案 3 :(得分:1)
如果您将输入作为文件路径尝试使用sc.nextline()
来读取空格
答案 4 :(得分:0)
URL url = file.toURI().toURL();
答案 5 :(得分:0)
在尝试从 Windows 操作系统上的 Servlet 读取资源位置时,我遇到了类似的问题。以下一行对我有用。
$http_wk->count = 1;
在以上所有行之后,verLocation.exists()返回true,否则也是false。