`
红桃貳
  • 浏览: 40783 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java 学习笔记- I/O - buffered Stream

阅读更多



 buffered stream 是对unbuffered stream的封装,从而减少读写的操作,提高程序的效率,由上图可以看出,buffered stream 可以分为 字节流和字符流两种,用来封装字节流的buffered stream 类为:BufferedInputstream,BufferedOutputStream 其构造方法为:BufferedInputstream(InputStream in),BufferedOutputStream (OutPutStream out). 这两个类对应的常用方法分别是read() 和 write(int c).

用来封装字符流的buffered stream类为: BufferedReader 和 BufferedWriter 其构造方法:BufferedReader(Reader read), BufferedWriter(Writer write) 常用的方法为readLine() 和writer(String s).

 

代码示例:

 

package io.bufferedstream;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 
 * @author PENGGR 
 * 
 * Buffered Stream 
 * 1.buffered for byte stream: BufferedInputStream,BufferedOutputStream
 * 2.buffered for character stream: BufferedReader, BufferedWriter
 * 
 * Why buffered? performance improving.
 */
public class CopyBufferedStream {

    public static void main(String[] args) {
        BufferedInputStream inputStream = null;
        BufferedOutputStream outputStream = null;

        BufferedReader inputStream2 = null;
        BufferedWriter outputStream2 = null;

        try {
            inputStream = new BufferedInputStream(new FileInputStream("D:\\360云盘\\javase\\src\\io\\xanadu.txt"));

            outputStream = new BufferedOutputStream(new FileOutputStream(
                    "D:\\360云盘\\javase\\src\\io\\bufferedStreamOut.txt"));
            int c;
            while ((c = inputStream.read()) != -1) {
                // outputStream.write(l);
                outputStream.write(c);
            }

            inputStream2 = new BufferedReader(new FileReader("D:\\360云盘\\javase\\src\\io\\xanadu.txt"));
            outputStream2 = new BufferedWriter(new FileWriter("D:\\360云盘\\javase\\src\\io\\bufferedStreamOut2.txt"));
            String l;
            while ((l = inputStream2.readLine()) != null) {
                outputStream2.write(l);
            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (inputStream != null) {
                    inputStream.close();
                }
                if (outputStream != null) {
                    outputStream.close();
                }

                if (outputStream2 != null) {
                    outputStream2.close();
                }
                if (inputStream2 != null) {
                    inputStream2.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

 

 

 

 

  • 大小: 190.4 KB
0
0
分享到:
评论

相关推荐

    java学习笔记之Java-IO操作共19页.pdf.zi

    【Java IO操作详解】 在Java编程中,IO(Input/Output)操作是处理数据输入与输出的核心技术。Java-IO操作共19页的笔记详细介绍了这一关键领域,旨在帮助...这19页的学习笔记将是你掌握Java IO操作的重要参考资料。

    达内Java笔记 各种总结

    Java的I/O流处理涵盖了文件读写、网络通信等场景。流分为字节流(Byte Stream)和字符流(Character Stream),又有输入流(InputStream/Reader)和输出流(OutputStream/Writer)。缓冲流(Buffered Stream)用于...

    10-java进阶-IO流1

    File file2 = new File("D:\\计算机学习\\java\\尚硅谷课件笔记源码资料"); ``` File对象提供了很多方法,如`exists()`用于检查文件或目录是否存在,`isDirectory()`用于判断是否为目录,`mkdir()`和`mkdirs()`分别...

    Java-IO流基础例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar

    三、缓冲流(Buffered Stream) 为了提高读写效率,Java提供了带缓冲功能的流,如BufferedInputStream和BufferedReader。它们在内部维护了一个缓冲区,可以批量读写数据,减少对底层设备的频繁操作。 四、转换流( ...

    IO操作.pdf

    包括`BufferedInputStream`、`BufferedOutputStream`、`BufferedReader`和`BufferedWriter`,这些类通过内存缓冲区提高读写性能,减少频繁的磁盘I/O操作。 5. **对象流(Object Stream)** `ObjectInputStream`和...

Global site tag (gtag.js) - Google Analytics