我有这个代码,它可以从IDE中完美地执行,创建一个新文件并写入它,但是当我从命令行运行它时,它不会写入文件。它仍会打印println并接收我的扫描仪输入,但它不会写入新文件。
public class test {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
File f = new File("print.txt");
System.out.println("'y' for yes or 'n' for no");
try {
BufferedWriter k = new BufferedWriter(new FileWriter(f));
if (s.next().equals("y")) {
k.write("y");
}
else {
k.write("n");
}
k.flush();
}
catch (Exception e){
e.printStackTrace();
}
}
}
我在Windows 10上,我用来执行程序的命令是
javac "C:\Users\David\Documents\Java\test.java"
java -cp "C:\Users\David\Documents\Java" test
感谢您的帮助。
答案 0 :(得分:0)
没关系,我意识到该文件只是在不同的目录中创建,因为我没有在代码中指定将文件写入的目录。傻我。
答案 1 :(得分:0)