有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

scala文件名包含斜杠标点符号,并在线程“main”java中给出异常。木卫一。FileNotFoundException:foo/boo/en_en。json(没有这样的文件或目录)

我正在尝试创建一个新文件作为boo/en\en。json到foo文件夹,但IntelliJ Idea认为boo是一个目录,并且en\en。json是一个文件。我应该如何解决这个问题

我的代码是:

val target = new PrintWriter(new File(s"foo/$name-$locale.json"))

名称包括斜杠标点符号

操作系统是MacOs Sierra


共 (2) 个答案

  1. # 1 楼答案

    阻止它并不是智能的,你们不能在你们的文件名中加斜杠,因为底层api正在阻止它

  2. # 2 楼答案

    您不应该能够通过JavaAPI在OSX上创建名称为/的文件。您可以在finder中手动执行此操作,但它会将实际保存到磁盘的文件名中的/替换为:。如果希望它以/的形式出现在finder中,则将其保存为:。任何访问该文件的程序都必须使用:引用该文件

    example of filename on commandline vs in finder

    这是由于旧式mac文件系统路径和unix文件系统路径之间的差异造成的

    然而,在文件名中有一个/是一个可怕的想法,因为它令人难以置信地困惑