码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的缓冲流

时间:2019-02-01 14:10:02      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:txt   androi   system   java   特殊功能   写入   fileread   缓冲流   line   

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<String> arr=new ArrayList<String>();
        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<String> arr=new ArrayList<String>();
        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);
        }
    }
}

Java中的缓冲流

标签:txt   androi   system   java   特殊功能   写入   fileread   缓冲流   line   

原文地址:https://www.cnblogs.com/hzdwwzz/p/10345463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!