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