Java I/O

最近在复习Java,感觉自己IO部分掌握的不是很好。就自己写了个小代码,自己记录一下。

问题很简单:将控制台输入保存到文件中,再将文件中的内容读取出来进行输出。

先总结几个要点吧。

(1)写入String对象要使用FileWriter;(FileInputStream是写字节的,当然也能写String,只是需要转换一下);

(2)创建FileWriter对象时,参数中记得加上True,来确保之前写入的内容不会被覆盖

(3)写入时,每写入一行记得刷新一下(writer对象的flush()函数),确保成功写入。

(4)FileReader对象的read方法返回值是相应字符的AscII码,如果到了结尾会返回-1;所以读取文件时要使用 readline()方法!

(5)任务结束后记得关闭两个流对象!

import java.util.*;
import  java.io.*;
public class IO2 {
    public static void main(String[] args) {
        File file= new File("I02.txt");
        try {
            FileWriter writer = new FileWriter(file,true);
            Scanner scanner=new Scanner(System.in);

            while(true){
                String line=scanner.nextLine();
                if (line.equals("|")){break;}
                writer.write(line);
                writer.write("\n");
                writer.flush();
            }
            writer.close();


            BufferedReader reader=new BufferedReader(new FileReader(file));
            while (true){
                String line= reader.readLine();
                if(line.isEmpty()){break;}
                System.out.println(line);
            }
        }catch (Exception e){e.printStackTrace();}
    }
}

你可能感兴趣的:(java,开发语言)