`
lcy0202
  • 浏览: 178242 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java IO (三)缓冲流和转换流

 
阅读更多

1. 缓冲流

java IO通过缓冲流来提高读写效率,普通的字节、字符流都是一个字节一个字符这样读取的,而缓冲流则是将数据先缓冲起来,然后一起写入或者读取出来。经常使用的是readLine()方法,表示一次读取一行数据。

package com.io;


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class TestBufferedString {

    public static void main(String[] args) throws Exception {
        // 指定要读取文件的缓冲输入字节流
        BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\\photo\\IMG0460A.jpg"));
        File file = new File("F:\\IMG0460A.jpg");
        if (file != null) {
            file.createNewFile();
        }
        // 指定要写入文件的缓冲输出字节流
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
        byte[] bb = new byte[1024];// 用来存储每次读取到的字节数组
        int n;// 每次读取到的字节数组的长度
        while ((n = in.read(bb)) != -1) {
            out.write(bb, 0, n);// 写入到输出流
        }
        out.close();// 关闭流
        in.close();
    }

}
 

2. 转换流

java提供将字节流转化为字符流读写方式的OutputStreamWriter和InputStreamReader

package com.io;
import java.io.*;
public class OutputStreamWriterDemo01  
{  
    public static void main(String args[]) throws Exception{    //所有异常抛出   
    	//写入数据
        File file=new File("d:"+File.separator+"test.txt");  
        Writer writer=null;     //字符输出流   
        writer=new OutputStreamWriter(new FileOutputStream(file));  //字节流变为字符流   
        String str="hello world!!!!";     
        writer.write(str);  //使用字符流输出   
        writer.close();
        
        //读取文件
        
        File f = new File("d:" + File.separator + "test.txt") ;   
        Reader reader = null ;  
        reader = new InputStreamReader(new FileInputStream(f)) ;    // 将字节流变为字符流   
        char c[] = new char[1024] ;  
        int len = reader.read(c) ;  // 读取   
        reader.close() ;    // 关闭   
        System.out.println(new String(c,0,len)) ;  
    }  
}  
 
分享到:
评论

相关推荐

    JavaIO实例_字节流_字符流_缓冲流_转换流IODemo

    在Java中,IO流分为两大类:字节流和字符流,每种流又有输入流和输出流之分,分别用于数据的读取和写入。 1. **字节流**: - 字节流处理的是8位的字节数据,是最基本的流类型。Java中的`InputStream`和`...

    JavaIO实例|字节流|字符流|缓冲流|转换流IODemo

    本教程将详细介绍Java IO中的字节流、字符流、缓冲流以及转换流,并通过IODemo实例来展示它们的用法。 ### 1. 字节流 字节流是Java中最基础的流类型,用于处理以字节为单位的数据。字节流分为输入流(InputStream...

    IO流 javaio java 流

    Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又可以进一步细分为输入流(InputStream/Reader)和输出流(OutputStream/Writer)...

    java io流 案例

    Java IO库提供了丰富的类和接口来支持不同类型的流,包括字节流、字符流、对象流、缓冲流、转换流以及过滤流等。 字节流(Byte Stream)是处理原始二进制数据的流,分为输入流和输出流。InputStream和OutputStream...

    Java-Io流,练习

    为了提高IO操作的效率,Java提供了缓冲流,如`BufferedInputStream`和`BufferedOutputStream`,以及`BufferedReader`和`BufferedWriter`。这些类在内部维护了一个缓冲区,可以减少实际的物理I/O次数。 五、转换流...

    Java IO 字节流 字符流

    Java IO库设计时考虑到了字节流和字符流之间的转换,为此提供了两个桥接流:InputStreamReader和OutputStreamWriter。InputStreamReader将字节流转换为字符流,它需要一个字符集作为参数来解码字节;...

    Java IO流 总结

    Java IO流是Java语言中最基本和最重要的输入/输出机制,负责将数据从外部世界输入到Java应用程序中或将数据从Java应用程序输出到外部世界。IO流可以分为两大类:字节流和字符流。 1. 节点流:离数据源|程序最近的流...

    Java基础篇:IO流.pdf

    Java IO流的使用涉及到流的打开、数据的读写操作和流的关闭。正确地使用流可以避免内存泄漏和其他资源问题。在实际开发中,通常会结合try-catch-finally语句来确保即使发生异常也能正确关闭流。 总结来说,Java IO...

    JAVA IO流技术

    处理流则可以包裹节点流,提供额外的功能,如缓冲、格式转换等,从而增强程序的效率和灵活性。 6. Java IO流类的体系: - 四个基本抽象类:InputStream、OutputStream、Reader、Writer。它们分别作为所有字节输入...

    java IO流精讲 JAVA IO流实例开发

    Java IO流的精讲涵盖了许多概念和技术,包括流的分类、流的方向、缓冲区的使用、字符编码以及一些实用的IO类和方法。在实例开发中,我们将深入理解这些概念并应用到实际项目中。 首先,Java IO流按照数据传输的方向...

    java IO流 1. 流的概念 2. 输入流和输出流 3. 字符流、字节流 4. 缓冲流 5. 转换流处理流

    java IO流 1. 流的概念 2. 输入流和输出流 3. 字符流、字节流 4. 缓冲流 5. 转换流处理流

    java io流源代码

    IO流在Java中分为两大类:字节流和字符流,每种流又有输入流和输出流之分。字节流处理的是8位的字节数据,而字符流处理的是16位的Unicode字符。 1. 字节流: - **InputStream** 和 **OutputStream** 是所有字节...

    JavaIO流详细总结

    Java IO流是Java编程语言中处理输入和输出的重要机制,它允许程序与各种类型的输入源(如键盘、文件、网络连接)以及输出目标(如显示器、文件、网络)进行交互。在Java中,I/O流被设计为面向对象,使得处理数据变得...

    Java IO流文档

    为了支持不同类型的流之间的互操作,Java提供了`InputStreamReader`和`OutputStreamWriter`来实现从字节流到字符流的转换。 - **InputStreamReader**:将字节流转换为字符流。 - **OutputStreamWriter**:将字符...

    《JAVA_IO流学习总结》

    三、管道流和缓冲流 - PipedInputStream和PipedOutputStream允许在不同线程间传递数据,形成管道。 - 缓冲流(BufferedInputStream/BufferedReader等)在内部维护一个缓冲区,提高读写效率,减少对底层操作系统的...

    Javaio流思维导图

    Java I/O 流是Java平台...总的来说,Java I/O流是一个复杂而强大的系统,它涵盖了数据的读取、写入、转换、缓冲、多线程通信等多个方面。通过理解和熟练掌握这个思维导图中的知识点,开发者可以有效地处理各种I/O任务。

    day21_缓冲流、转换流、序列化流、Commons IO.pdf

    总的来说,缓冲流、转换流和序列化流是Java IO编程中的重要组成部分,它们提供了更高的效率和灵活性,帮助开发者更好地处理数据的读写和对象的持久化。了解并熟练运用这些流,对于提升Java应用的性能至关重要。在...

    javaIO流知识大总结

    - **按功能分:**节点流(直接与数据源连接)和处理流(增加功能,如缓冲、转换、压缩等)。 3. **常用类** - **字节流:**InputStream(输入)和OutputStream(输出)是所有字节流的基类,常用的子类有...

    java中IO流例子

    Java中的IO流是Java平台提供的一种处理输入输出数据的核心机制,广泛应用于文件读写、网络通信、数据转换等场景。IO流分为字节流(Byte Stream)和字符流(Character Stream),它们构成了Java IO系统的基础。 1. *...

    java io 流,文件读取操作

    在 Java 中,IO 流可以分为两大类:字节流和字符流。字节流主要用于处理二进制数据,而字符流主要用于处理文本数据。 一、IO 流的分类 IO 流可以按照不同的方式分类,一种是按照流的方向分类,分为输入流和输出流...

Global site tag (gtag.js) - Google Analytics