繁体   English   中英

Java文件编写器

[英]Java file writer

我被赋予了这个任务:

编写一个程序,将数字n和文本字符串文件名作为输入,并将n行写入文件,其中每行的格式为:i:sqrt(i)sqrt(i)sqrt(i)。 第一列的范围是1..n,而第一平方根是小数点后一位,第二列是小数点后两位,第三位是小数点后三位。

在一位大学导师的帮助下,我想到了这段代码,但是..

  public static void writeFile(final String filePath, final int n) throws IOException {
    try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
        final String format = "%-10s %-10.1f %-10.2f %-10.3f %n";
        for(int i=1;i<=n;i++){
            final double root = Math.sqrt(i);
            writer.write(String.format(format,i+":",root ,root,root));
        }
    }
}

....我将如何包含要使用的文本文件? 我以为我会做类似于filepath = file.txt的操作。 例如。 但是我不确定如何将其合并到代码中。 我想出了将其格式化为任务要求的小数位的格式。 我需要将其包括在for循环中还是循环外? 谢谢

调用方法时,您将传递filePath作为参数。 您只需要在代码中设置一次

writeFile("textfile.txt",5);

您的调用方法应该将文件名作为filePath变量的一部分传递。 如果参数中的filePath没有文件名,则可以在方法内部定义文件名,并与输入的filePath连接。 您可以使用派生的文件路径来创建文件编写器对象。

String completeFilePath = filePath.concat("file.txt");

try (BufferedWriter writer = new BufferedWriter(new FileWriter(completeFilePath))) {
...
}

此外,完成操作后,请刷新/关闭writer对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM