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

java file directory bufferedwriter

164921 观看

4回复

143 作者的声誉

我想将文件results.txt写入我机器上的特定目录(Z:\结果是准确的)。如何指定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");
    }
}
作者: user726219 的来源 发布者: 2011 年 4 月 26 日

回应 (4)


4

3677 作者的声誉

只需将完整目录位置放在File对象中即可。

File file = new File("z:\\results.txt");
作者: Collin Price 发布者: 26.04.2011 10:28

26

669731 作者的声誉

决定

使用:

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

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

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

File file = new File("/home/userName/Documents/results.txt");
作者: Greg Hewgill 发布者: 26.04.2011 10:28

35

3291 作者的声誉

您应该使用二次构造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 */

希望能帮助到你。

作者: Kaushik Shankar 发布者: 26.04.2011 10:30

0

1 作者的声誉

最佳做法是在路径中使用File.separator。

作者: TillTheDayIDie 发布者: 05.02.2019 09:09
32x32