在尝试创建文件output.txt时,我有一个文件夹

时间:2017-11-01 19:50:52

标签: java file file-extension

我继续在二进制计数器上工作。它经历了许多变化,使其能够更快地创建更多数字。虽然,我最初使用pastebin api存储所有输出,我可以回到它。但是,生成的输出开始变得很大,因为pastebin。我想生成一个文件来存储数据。我可以使用现有文件,但我无法弄清楚如何使用扩展名txt制作文件。我有一段时间的研究,但还没有找到办法。我的代码可以找到here。否则,我生成文件的代码是:

File f = new File(System.getProperty("java.class.path"));
File out = new File(f.getAbsoluteFile().getParentFile().toString() + "/output.txt");
if(!out.exists()) {
   out.mkdir();
}

代码在一定程度上起作用。生成文件,但它只是一个名为output.txt的文件夹。我很感激任何帮助找到一种方法来创建一个名为输出的文件与扩展.txt。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容编写实际文件:

class MyWriter {
    void write(String input, String filename) {
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
            writer.write(input);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            System.out.close();
        }
    }
}

至于制作文件应该存在的文件夹,我认为你需要做的是

if(!f.exists()) {
   f.mkdir();
}

因为mkdir创建了一个目录,而文件编写者编写了实际文件。 我提供的文件编写器的输入应为(the raw data you want to write, the name of the file in the form of a complete path).

因此,使用您的代码,我认为它将是:

//...
if(!f.exists()) {
   f.mkdir();
}
//...
MyWriter writer =  new MyWriter();
writer.write(console, out.getAbsolutePath());