Java中的缓冲流

BufferedWriter和BufferedReader

BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。

BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

构造方法

BufferedWriter(Writer out)

BufferedReader(Reader in)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class LAST {
public static void main(String[] args) throws IOException {
//创建输出缓冲流对象
BufferedWriter bw=new BufferedWriter(new FileWriter("bw.txt"));
bw.write("hello");
bw.close();

//创建输入缓冲流对象
BufferedReader br=new BufferedReader(new FileReader("bw.txt"));
//一次读取一个字符
int ch;
// while((ch=br.read())!=-1) {
// System.out.print((char)ch);
// }
//br.close();

//一次读取一个字符数组
char[] chs=new char[1024];
int len;
while((len=br.read(chs))!=-1) {
System.out.println(new String(chs,0,len));
}
br.close();
}
}

缓冲流的特殊功能

BufferedWriter

void newLine() 写一个换行符,这个换行符由系统决定

BufferedReader

//String readLine() 一次读取一行数据 但是不读取换行符

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class LAST {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("bw.txt"));
String line;
while((line=br.readLine())!=null) {
System.out.println(line);
}
br.close();
}
}

把集合中的数据写到文件里面

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

public class LAST {
public static void main(String[] args) throws IOException {
ArrayList arr=new ArrayList();
arr.add("java");
arr.add("android");
arr.add("ios");
BufferedWriter bw=new BufferedWriter(new FileWriter("arr.txt"));

for(int x=0;x<arr.size();x++) {
String s=arr.get(x);
bw.write(s);
bw.newLine();
bw.flush();
}
bw.close();

}
}

把文本文件中的数据读取到集合

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class LAST {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("arr.txt"));
ArrayList arr=new ArrayList();
String line;
while((line=br.readLine())!=null) {
arr.add(line);
}
br.close();
for(int x=0;x<arr.size();x++) {
String s=arr.get(x);
System.out.println(s);
}
}
}

posted @ 2019-02-01 12:52  HzdWwZz"LJF  阅读(227)  评论(0)    收藏  举报