1.把文字写入文件(从程序写到外设).
(1).先构造个数组拿来储存
ArrayList<String> list = new ArrayList<>();
list.add("迪丽热巴");
list.add("古力娜扎");
list.add("马尔扎哈");
(2).构造个文件输出流和输出缓冲流。FileWriter,BufferedReader
虽然单用FileWriter也可以,但是提高效率最好选择BufferedReader
BufferedWriter bw = new BufferedWriter(new FileWriter("写入文件名.txt"));
//BufferedWriter 输入缓冲流。 相当于一个占时储存的容器。就好比要把菜地里的蔬菜拿到菜市场去卖,一个一个的拿去卖,效率低又费时,这是就需要一辆货车,他能储存一定量的蔬菜,批量的拿到菜市场去卖。 效率高,又省时。
BufferedWriter肚子里有8192长度的char[]字符数组
a.当做缓冲区使用。
b.满了统一写入文件。
c.没满写到满为止。
d.关闭流的时候,任然没满,那也会将剩余有效部分写入硬盘文件里。
(3)把数组里面的内容进行遍历,一行一行的写入缓冲流。(把菜地里的蔬菜一个一个的搬上车。)
for(int i=0;i<list.size();i++){
String str=list.get(i);//当前字符串
bw.writer(str);
bw.newLine();//换行再装
}
bw.close();//最后关闭流(相当于关上车门运走,不可能每次都装整车)。
2.把文件(外设)里的文字读到程序。
步凑:
(1).需要读文件,那么可以使用:FileReader,BufferedReader
BufferedReader br =new BufferedReader(new FileReader("file11.txt"));
(2).为了性能更高,更好。选择BufferedReader(只有BufferedReader才有)
(3).需要一个集合来存放读取出来的字符串,arrayList<String>
ArrayList<String> arrayList=new ArrayList<String>();
(4).读取一行,readLine
(5).将读取到的字符穿添加到集合中:add
String line;//代表一行字符串
while((line=br.readLine())!=null) {
arrayList.add(line);//将读取到的字符串全搬到集合当中
}
(6).上述4-5步骤是个循环过程,读取到null就要停止。
(7).关闭流
br.close();//关闭流
(8).遍历集合的元素,查看所有字符串的内容
for(int i=0;i<arrayList.size();i++) {
System.out.println(arrayList.get(i));
}//遍历集合
输入程序:先把文件的内容读入程序,然后再把程序里的内容,一行一行的写入集合,关闭流。
最后把集合里的内容通过遍历,一个一个的显示出来。