Java - 如何使用方法指定目录创建新文件?

4

我知道如何将文件写入指定目录,只需执行以下操作:

 public void writefile(){

    try{
        Writer output = null;
        File file = new File("C:\\results\\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");
    }

但是,如果目录在一个方法中设置,我该如何指定目录呢?例如一个名为getCacheDirectory()的方法。假设所有必要的导入等都已完成...谢谢 :)。
1个回答

9
你的意思是只需要:

    File file = new File(getCacheDirectory() + "\\results.txt");

如果getCacheDirectory()返回一个String类型的路径,那么这样做是正确的;但如果它返回了一个File对象,那么就需要使用不同的构造函数:
    File file = new File(getCacheDirectory(), "results.txt");

4
最好不要硬编码文件分隔符,在第一种情况下使用File file = new File(new File(getCacheDirectory()), "results.txt"); - JB Nizet
实际上,我只是想做一些让原帖作者立刻认识到并理解的事情。 - Ernest Friedman-Hill
在这种情况下,是否仍然可以将文件名作为相对路径来设置? 示例:File file = new File(new File(getCacheDirectory()),“.. \.. \ files \ results.txt”); - overshadow
@overshadow 是的。请参见 http://docs.oracle.com/javase/7/docs/api/java/io/File.html。 - Ernest Friedman-Hill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接