Java --IO的总结

1.对于字符流个字节流的区分使用:只要是处理纯文本数据,就优先考虑使用字符流【readerh h 和 writer】。 除此以外都使用字节流。数组

2.对于使用字节流的时候,大部分使用 BufferedInputStream 和 BufferedOutputStream 这两个对象,效率最快。编码

实例:对象

            bis = new BufferedInputStream(new FileInputStream(pathName));
            bos = new BufferedOutputStream(response.getOutputStream()); //下载的使用的输出流对象utf-8

            byte[] buff = new byte[1024];
            int len = 0;
            while ((len = bis.read(buff)) !=-1) { //bis对象把读取的字节存储到 数组buff中,返回存储的长度,若是读取完毕返回 -1
                bos.write(buff, 0, len); //bos对象把buff字节写入到文件中
            }
            bos.flush();字符串

            bis.close();
            bos.close();get

        

3.对于字符流使用  BufferedWriter 和 BufferedReader it

实例:效率

  BufferedReader br = new BufferedReader(new FileReader(file));
        BufferedWriter bw = new BufferedWriter(new FileWriter(new File("D://3.txt")));
        String str = null;
        while((str= br.readLine()) != null){     //br.readLine()把读取的数据返回一个String 类型的字符串
            bw.write(str);
            bw.newLine();  //换行
        }
        bw.flush();
        br.close();
        bw.close();file

---------------------------------------------------------------------------下载

进行IO流的选择步骤

1。明确哪一个是源,哪一个是目的。(源就是从这边使用输入流进行读取,目的就是使用输出流写入到这边)

2。明确操做的是否为纯文本, 若是是纯文本就使用字符流,若是不是就使用字节流。

3。是否要提升效率,提升效率 使用对应的 缓冲流对象:【BufferedReader ,  BufferedWriter   BufferedInputStream ,   BufferedOutputStream】

4。是否须要按照指定的编码表,将数据存到文本: 是的话 须要选择 InputStreamReader  和 OutputStreamWriter 这两个对象,  InputStreamReader  和 OutputStreamWriter 是沟通字节流和字符流的对象。 按照必定的编码方法去读取或者写入文本。实例:

         InputStreamReader inr = new InputStreamReader(new FileInputStream(file), "utf-8");         OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(file), "utf-8");

相关文章
相关标签/搜索