我如何创建一个新文件并放入一些用户定义的整数(使用Scanner类)然后读取它?

时间:2019-06-22 22:35:19

标签: java oop filereader

我想编写一个程序来创建一个新文件,并在其中放入一些用户输入的整数,然后从同一类中的文件中读取它。

我已经成功创建了一个文件,并在其中输入了一些用户输入信息,但是在尝试读取文件时却出现了问题,但这样做总是给我带来不同的错误,我只是很好奇地找到了从文件中读取的代码同一班级的文件

tf.Tensor(
[[9.96 8.65 0.99 0.1 ]
 [0.1  0.1  0.1  0.1 ]
 [0.1  0.1  0.1  0.1 ]
 [0.1  0.1  0.1  0.1 ]
 [0.1  0.1  0.1  0.1 ]
 [0.4  8.45 0.2  0.2 ]
 [0.1  0.1  0.1  0.1 ]], shape=(7, 4), dtype=float32)

读取我们在该类中创建的文件。

1 个答案:

答案 0 :(得分:1)

要读取文件的内容,只需使用BufferedReader,然后遍历每一行并打印:

    BufferedReader br = new BufferedReader(new FileReader(obj2));

    String st;
    while ((st = br.readLine()) != null)
        System.out.println(st);

但是,实际上,您不应该只在主要方法中编写所有内容-使用方法更加简洁明了。我已经重构了您的代码,例如:

public class Main {
    public static void main(String[] args) throws Exception {
        File obj2 = createFile();
        writeToFile(obj2);
        System.out.println("");
        readFromFile(obj2);
    }

    private static void readFromFile(File obj2) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader(obj2));

        String st;
        while ((st = br.readLine()) != null)
            System.out.println(st);
    }

    private static void writeToFile(File obj2) throws FileNotFoundException {
        Scanner obj1 = new Scanner(System.in);
        PrintWriter testing = new PrintWriter(obj2);
        int x = obj1.nextInt();
        int y = obj1.nextInt();
        int z = obj1.nextInt();
        testing.println(x);
        testing.println(y);
        testing.println(z);
        testing.close();
    }

    private static File createFile() {
        return new File("abc.txt");
    }
}