Java------缓存流的应用
由于使用子节流或字符流的效率不高,因此实际应用中使用缓存流来读写文件。缓存流分为字节缓存流和字符缓存流
Java------数据流的应用(子节流和字符流)
1.缓存字节流:
缓存字节流包括字节的输入和输出流:BufferedInputStream和BufferedOutputStream两种
1.1缓存字节输入流的创建:
File file=new File("lianxi.txt");
FileInputStream re1=new FileInputStream(file);
BufferedInputStream rebuffer=new BufferedInputStream(re1);
1.2缓存字符流输出流的创建:
File file=new File("lianxi.txt");
FileOutputStream out=new FileOutputStream(file);
BufferedOutputStream outbuffer=new BufferedOutputStream(out);
注意:调用outbuffer中的write方法时,此时系统会进行缓存处理,提高写入效率,写入完毕后,必须调用flush()方法将缓存中的数据存入文件中。
public abstract class text_1 {
public static void main(String[] args) throws IOException
{
File file=new File("lianxi1.txt");
byte buffer[] =new byte[512];
BufferedOutputStream outbuffer=new BufferedOutputStream(new FileOutputStream(file));
System.out.println("输入字节:");
int count=System.in.read(buffer);
outbuffer.write(buffer);
outbuffer.flush();
JOptionPane.showMessageDialog(null,"输入完毕!");
outbuffer.close();
}
}
2.缓存字符流:
缓存字符流包括:字符输入流和字符输出流两种,BufferedReader和BufferedWriter。其中,Bufferedreader流中的readLine方法读取一个文本行,BufferedWriter流中的newLine方法的功能是在文件中写入一个行分隔符。
2.1缓存字符输入流的创建:
File file=new File("lianxi.txt");
FileReader re=new FileReader(file);
BufferedReader rebuffer=new BufferedReader(re);
2.2缓存字符流的输出流的创建:
File file=new File("lianxi.txt");
FileWriter wr=new FileWriter(file);
BufferedWriter wrbuffer=new BufferedWriter(wr);
public abstract class text_1 {
public static void main(String[] args) throws IOException
{
File file=new File("lianxi1.txt");
File file2=new File("lianxi2.txt");
BufferedReader rebuffer=new BufferedReader(new FileReader(file));
BufferedWriter wrbuffer=new BufferedWriter(new FileWriter(file2));
String str=null;
while((str=rebuffer.readLine())!=null)
{
wrbuffer.write(str);
wrbuffer.newLine();
System.out.println(str);
}
wrbuffer.flush();
rebuffer.close();
wrbuffer.close();
}
}
//将file中得到内容复制到file2中并且输入到控制台上