Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java编写文本文件_Java - Fatal编程技术网

用java编写文本文件

用java编写文本文件,java,Java,我有一个问题,我的代码在最新版本的java上运行良好,但在我的大学计算机上运行不好,因为它们在较旧的java API上(没有那么旧,但不是最新版本)。以下是代码和我的任务: '编写一个程序,将数字n和文本字符串文件名作为输入,并将n行写入文件,其中每行的格式为:i:sqrt(i)sqrt(i)sqrt(i)sqrt(i)。第一列的范围为1..n,而第一个平方根为小数点后一位,第二个为小数点后两位,第三个为小数点后三位。” import java.io.BufferedWriter; import

我有一个问题,我的代码在最新版本的java上运行良好,但在我的大学计算机上运行不好,因为它们在较旧的java API上(没有那么旧,但不是最新版本)。以下是代码和我的任务:

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

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)
}