Java - 当我使用PrintWriter,BufferedWriter和FileWriter编写时如何从文件中读取?

mar*_*rek 9 java methods file

我有一些方法将一些数据写入文件.我使用PrintWriter,BufferedWriter并且FileWriter如下所示

public void writeToFile(String FileName){
    PrintWriter pw = null;
    try {
        pw = new PrintWriter(new BufferedWriter(new FileWriter(FileName)));
        for(Cars car : list){
            pw.println(car.getType());
            pw.println(car.getMaxSpeed());
            pw.println(car.getOwner());
            pw.println();
            pw.flush();
        }
        pw.close();
    }
    catch(IOException ex){
        System.err.println(ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我如何从文件中读取这些数据?我试图用InputStreamReader,BufferedReaderFileInputStream,但我的NetBeans显示我的错误信息

    public void readFromFile() throws IOException {
        InputStreamReader fr = null;
        try {
            fr = new InputStreamReader(new BufferedReader(new FileInputStream(new FileReader("c:\\cars.txt"))));
            System.out.println(fr.read());
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        } finally {
            fr.close();
        }
    }  
Run Code Online (Sandbox Code Playgroud)

这种方法有什么问题?

gki*_*iko 15

BufferedReader in = new BufferedReader(new FileReader("file.in"));
BufferedWriter out = new BufferedWriter(new FileWriter("file.out"));

String line = in.readLine(); // <-- read whole line
StringTokenizer tk = new StringTokenizer(line);
int a = Integer.parseInt(tk.nextToken()); // <-- read single word on line and parse to int

out.write(""+a);
out.flush();
Run Code Online (Sandbox Code Playgroud)