用java编写文本文件
我有一个问题,我的代码在最新版本的java上运行良好,但在我的大学计算机上运行不好,因为它们在较旧的java API上(没有那么旧,但不是最新版本)。以下是代码和我的任务: '编写一个程序,将数字n和文本字符串文件名作为输入,并将n行写入文件,其中每行的格式为:i:sqrt(i)sqrt(i)sqrt(i)sqrt(i)。第一列的范围为1..n,而第一个平方根为小数点后一位,第二个为小数点后两位,第三个为小数点后三位。”用java编写文本文件,java,Java,我有一个问题,我的代码在最新版本的java上运行良好,但在我的大学计算机上运行不好,因为它们在较旧的java API上(没有那么旧,但不是最新版本)。以下是代码和我的任务: '编写一个程序,将数字n和文本字符串文件名作为输入,并将n行写入文件,其中每行的格式为:i:sqrt(i)sqrt(i)sqrt(i)sqrt(i)。第一列的范围为1..n,而第一个平方根为小数点后一位,第二个为小数点后两位,第三个为小数点后三位。” import java.io.BufferedWriter; import
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class CSLab5 {
public static void writeFile(final String filePath, final int n) throws IOException {
String path = filePath.concat("file.txt");
try (BufferedWriter writer = new BufferedWriter(new FileWriter(path))) {
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));
}
}
}
}
导入java.io.BufferedWriter;
导入java.io.FileWriter;
导入java.io.IOException;
公共类CSLab5{
公共静态void writeFile(final String filePath,final int n)引发IOException{
字符串路径=filePath.concat(“file.txt”);
try(BufferedWriter=new BufferedWriter(new FileWriter(path))){
最终字符串格式=“%-10s%-10.1f%-10.2f%-10.3f%n”;
对于(int i=1;i
这是1.8版的资源试用版。
更改它,使其在旧版本中工作
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(path)
}
还要添加一个catch或finally块
但对于版本问题,问题是try with resource如果您在大学计算机上运行此代码,会出现什么错误?您忘记关闭writer我只在try语句中获取错误。您可能希望包括在执行过程中收到的特定错误。它说在更改该版本的代码和try语句后添加finally块sion。别忘了关闭finally块中的写入程序我们无法关闭finally块中的写入程序,因为它是在try块中声明的。这会导致编译错误写入程序无法解决请仔细查看。PrintWriter out是在try块外声明的。仅在try块内初始化。因此out在catch块中可访问。try-with-resources是在Java7中发布的,而不是在Java8中发布的。
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(path)
}