`

字符流字符流

    博客分类:
  • J2EE
阅读更多
inputstream/outputstream   reader/writer
FileInputStream inputstreamReader bufferedReader
FileOutputStram outputStreamWriter bufferedWriter


概念:
    字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节, 操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是 音频文件、图片、歌曲,就用字节流好点,如果是关系到中文(文本)的,用字符流好点.
     所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.
      字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。
  转换:
在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang
而在字符流转化为字节流时,实际上是String转化为byte[]时,
byte[]    String.getBytes(String charsetName)
也是一样的道理
  Java操作篇:
  IO分两种流

字节流 InputStream OutputStream

字符流 Reader Writer

他们都是抽象类

具体实现
字节流 FileInputStream FileOutputStream
字符流 FileReader FileWriter
  字节流转换成字符流可以用 InputSteamReader OutputStreamWriter

转换成BufferdReader BufferedWriter 他们具有缓冲区

例如:读取文件 从字节流输入到字符流输入
定义一个字节流:
FileInputStream fileInputStream = new FileInputStream("d:/text.txt");
// 定义一个指向D:/TEXT.TXT 的字节流

InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
//字节流转换成InputStreamReader
BufferedReader bufferedReader = new BufferedReader(inputSteamReader);
//InputStreamReader 转换成带缓存的bufferedReader

可以把读出来的内容赋值给字符

String ss = new String();
String s;
while((s = bufferedReader.readLine())!=null){
ss += s;
}

例如:写入文件 从字节流输出到字符流输出

FileOutputStream fileOutputStream = new FileOutputStream("d:/text.txt"); //定义一个

指向D:/TEXT.TXT文件

OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);

BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);

bufferedWriter.write(s);

bufferedWriter.close();
outputStreamWriter.close();
fileOutputStream.close();


例程:
     将字符串转化为字节流#region 将字符串转化为字节流
        /**//// <summary>
        /// 将字符串转化为字节流
        /// </summary>
        /// <param name="_Source">字串</param>
        /// <returns>字节流</returns>
        public static byte[] String2Bytes(string strSource)
        {
            System.IO.MemoryStream   memoryStream=new   System.IO.MemoryStream();  
            System.IO.BinaryWriter   binaryWriter=new   System.IO.BinaryWriter(memoryStream);  
            binaryWriter.Write( strSource );
            byte[]   buffer=memoryStream.GetBuffer();
            return buffer;   
        }
        #endregion

       
        将字节流转化为字符串#region 将字节流转化为字符串
        /**//// <summary>
        /// 将字节流转化为字符串
        /// </summary>
        /// <param name="bytData">字节流</param>
        /// <returns>字串</returns>
        public static string Bytes2String(byte[] bytData)
        {
            //字节流->字符串  
            System.IO.MemoryStream   memoryStream2 = new   System.IO.MemoryStream(bytData);  
            System.IO.BinaryReader   binaryReader = new   System.IO.BinaryReader(memoryStream2);  
            string   s2=binaryReader.ReadString();  
            return s2;
        }
        #endregion
分享到:
评论

相关推荐

    JAVA 字符流与字节流

    在Java编程语言中,输入/输出(I/O)操作是处理数据流的关键部分,而字符流与字节流则是实现这些操作的两种基本方式。理解它们的区别和应用场景对于任何Java开发者来说都是至关重要的。 ### 字节流 字节流是最基本...

    Java字符流与字节流区别

    Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。 Java 内用 Unicode 编码存储字符,字符流...

    Java字符流和字节流

    ### Java字符流和字节流详解 #### 一、引言 在Java中,I/O流主要用于处理输入输出操作,包括文件读写等。根据处理数据类型的不同,Java I/O流主要分为字节流和字符流两大类。字节流处理的是8位的字节数据,而字符流...

    java字符流操作

    Java字符流操作是Java IO API中的重要组成部分,主要用于处理文本数据,支持各种编码格式的文件读写。在Java中,字符流分为输入流(InputStreamReader、BufferedReader)和输出流(OutputStreamWriter、PrintWriter...

    Java IO字符流和字节流

    ### Java IO字符流和字节流详解 #### 一、引言 在Java编程中,输入输出(简称IO)操作是十分重要的一个方面。通过IO操作,我们可以读取文件、网络数据、用户输入等,也可以将数据写入到文件、网络、控制台等。Java...

    java 字符流 讲解

    Java字符流讲解 Java语言中的数据流主要用于处理数据的输入和输出,特别是在处理文件操作时。数据流可以分为字节流(Byte Stream)和字符流(Character Stream)。本讲解主要聚焦于字符流,它是Java IO体系中处理...

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

    字符流由Reader和Writer类族构成,如InputStreamReader和OutputStreamWriter,它们分别用于将字节流转换为字符流。字符流在处理Unicode字符集时特别有用,因为它可以正确处理多种语言的字符编码。例如,使用 ...

    java字节流和字符流

    Java中的字节流和字符流是IO操作中的两种基本类型,它们主要用于数据的输入和输出。字节流处理的数据单位是字节,而字符流处理的是Unicode字符。 字节流: 字节流主要由两个核心类构成:`InputStream`和`...

    Java 字节流、字符流题目.pdf

    在Java中,流分为字节流和字符流两大类,它们都是抽象的概念,用于表示数据流动的方向。字节流处理的数据单位是字节,而字符流处理的是Unicode编码的字符。 一、字节流 字节流分为输入流和输出流,Java中最基础的...

    字节流字符流

    在Java编程语言中,字节流(Byte Stream)和字符流(Character Stream)是处理输入输出数据的两种基本方式。它们构成了Java I/O系统的核心,用于读写文件、网络通信等场景。字节流和字符流的区别在于处理数据的基本...

    java i/o流读取写入字符流

    读取写入文件,javai/o流字符流 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

    Java学习IO流小结--字符流

    ### Java学习IO流小结——字符流 #### 知识点概述 在Java中,处理文件和数据流是一项基本而重要的任务。IO流是Java语言中处理输入/输出的重要工具,它包括字节流和字符流两大类。本文将重点讨论字符流的相关概念...

    详解Java中字符流与字节流的区别

    根据处理的数据单位,Java提供了两种主要类型的流:字符流和字节流。这两种流在处理数据时有显著的区别,尤其是在处理文本数据和二进制数据时。 1. 什么是流 流在Java中是一个抽象概念,它描述了数据如何从一个地方...

    字符流的读写

    字符流的读写......

    字节流字符流的使用方法源码+文档

    在Java编程语言中,`字节流`和`字符流`是进行输入/输出操作的基础,主要用于处理数据的传输。这两个概念是Java IO系统的核心,它们允许程序与外部设备(如硬盘、网络、内存等)交换信息。在这个压缩包中,你将找到...

    java字节流和字符流[整理].pdf

    字符流:字符流处理的是Unicode编码的字符,因此一个字符可能占用2个字节。Writer是字符输出流的顶级抽象类,它提供了向字符输出流写入字符的方法。例如,我们可以使用PrintWriter类来方便地输出文本内容: ```java...

    Java IO流常用字节字符流原理解析

    "Java IO流常用字节字符流原理解析" Java IO流中有两种基本的流类型:字节流和字符流。在Java IO流中,字节流是指以byte为单位进行操作的流,而字符流是指以char为单位进行操作的流。今天,我们将主要介绍Java IO流...

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

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

    java字符流记事本

    java字符流记事本 建议新手看看

Global site tag (gtag.js) - Google Analytics