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源代码中使用它!
如果我 运行 这段代码没有任何反应,甚至没有捕获 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源代码中使用它!