linux 上的文件写入路径

FileWrite path on linux

如果我 运行 这段代码没有任何反应,甚至没有捕获 exception.The 字符串没有出现在 test.txt 文件中。 test.txt 文件的路径是~/home/joci/Joci。我哪里错了?

public static void main(String[] args) {

try{            
String text = "this is just a test ";

FileWriter fw = new FileWriter("/home/joci/Joci test.txt");
fw.write(text);
fw.close();

}catch(IOException e ){
System.out.println("Something went wrong ");

}

最初,我你的问题是

"/home/joci/Joci test.txt"

是否表示Linux下的有效文件名;所以你只需删除 space;或者将其替换为 _ 或 - 例如。或者使用 \ 来转义 space。

但我刚刚尝试过:

import java.io.*;

public class Test {
  public static void main(String[] args) {
  try{            
    String text = "this is just a test ";
    FileWriter fw = new FileWriter("/home/myhome/tmp/out 21.txt");
    fw.write(text);
    fw.close();
  }catch(IOException e ){
  System.out.println("Something went wrong ");
  }  
}

}

工作 很好。所以你的设置中一定有其他东西导致了这个问题!

此外:~ 字符是您 Linux 的 shell 的功能。 JVM不知道这个字符表示"home";因此,您应该完全不在您的java源代码中使用它!