Java - 如何将文件写入指定目录

2022-09-01 04:59:34

我想将文件结果写入.txt到计算机上的特定目录(确切地说是Z:\results)。如何为 BufferedWriter/FileWriter 指定目录?

目前,它成功地将文件写入我的源代码所在的目录。谢谢

    public void writefile(){

    try{
        Writer output = null;
        File file = new File("results.txt");
        output = new BufferedWriter(new FileWriter(file));

        for(int i=0; i<100; i++){
           //CODE TO FETCH RESULTS AND WRITE FILE
        }

        output.close();
        System.out.println("File has been written");

    }catch(Exception e){
        System.out.println("Could not create file");
    }
}

答案 1

应使用 辅助构造函数 for 来指定要在其中以符号方式创建它的目录。这很重要,因为说通过将目录名称附加到原始名称来创建文件的答案并不像此方法那样独立于系统。File

示例代码:

String dirName = /* something to pull specified dir from input */;

String fileName = "test.txt";
File dir = new File (dirName);
File actualFile = new File (dir, fileName);

/* rest is the same */

希望它有帮助。


答案 2

用:

File file = new File("Z:\\results\\results.txt");

您需要在 Windows 中将反斜杠加倍,因为反斜杠字符本身是 Java 文本字符串中的转义。

对于 POSIX 系统(如 Linux),只需使用默认文件路径,而不会使正斜杠加倍。这是因为正斜杠在 Java 中不是转义字符。

File file = new File("/home/userName/Documents/results.txt");