从命令行执行java程序时,文件不写入

时间:2015-08-19 22:49:57

标签: java command-line filewriter bufferedwriter

我有这个代码,它可以从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

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

没关系,我意识到该文件只是在不同的目录中创建,因为我没有在代码中指定将文件写入的目录。傻我。

答案 1 :(得分:0)

是的......你明白了使用cp-(ClassPath cmd)时,必须指定需要保存该java文件的目录名称。