[英]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.