`

java io(字符、字节流)基础

阅读更多

     1、流是一组有起点有终点的顺序字节集合,抽象了数据传输,抽象为许多类。

    2、字符流和字节流

    字节流处理所有数据类型,字符流只处理字符类型的数据。

    字节流不会使用到缓冲区的,文件本身的直接操作。

   优先使用字节流(硬盘上的所有数据都是以字节的形式存储的)。

  3、io流对象

    A、 InputStream是所有输入字节流的父类,是抽象的。子类有很多介质流,根据不同的介质(StringBuffer,数组,本地文件)读取数据。System.in

     核心代码

      

 File f=new File("文件路径");
InputStream in =new FileInputStream(f);//父类的引用指向子类的对象
byte[]b=new byte[1024];//用数组存文件的字节
int len=in.read(b);//len为读入的长度
in.close();//关闭字节流
System.out.println(new String(b,0,len));//将字节转化为字符串

 B、OutputStream 是所有的输出字节流的父类,它是一个抽象类。

  核心代码

File f=new File(文件路径);
OutputStream out=new FileOutputStream(f);
// OutputStream out =newFileOutputStream(f,true);//true表示追加模式,否则为覆盖
String str="sdfghgghmgfgfhm";
byte[] b=str.getBytes();//将字符串转化为字节
  for (int i = 0; i < b.length; i++) {
           out.write(b[i]);
       }
       out.close();

 C、Reader是所有的输入字符流的父类,介质流为CharReader,StringReader,从char数组和String里提取数据。

 

InputStreamReader 是一个连接字节流和字符流的桥梁,它将字节流转变为字符流。FileReader可以说是一个达到此功能、常用的工具类,在其源代码中明显使用了将FileInputStream 转变为Reader 的方法。我们可以从这个类中得到一定的技巧。Reader 中各个类的用途和使用方法基本和InputStream 中的类使用一致

   核心代码:

  

File f=new File(文件名);
  char[] ch=new char[100];
  Reader reader=new FileReader(file);
int temp=0;
int count=0;
while((temp=reader.read())!=-1)
{
ch[count++]=(char)temp;
}
read.close();
System.out.println(new String(ch,0,count));

 D、BufferedReader 很明显就是一个装饰器,它和其子类负责装饰其它Reader 对象。

 实例,实现读取中文的字节流。

核心代码

  BufferedReader buf = new BufferedReader(
                new InputStreamReader(System.in));//将字节流转为字符流,同时可以缓冲
       String str = null;
       System.out.println("请输入内容");
       try{
           str = buf.readLine();
       }catch(IOException e){
           e.printStackTrace();
       }
       System.out.println("你输入的内容是:" + str);

 

分享到:
评论

相关推荐

    Java IO字符流和字节流

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

    Java IO 字节流 字符流

    Java IO系统分为两大类:字节流和字符流。字节流主要用于处理任何类型的原始数据,如图片、音频文件或者二进制文件,而字符流则专注于处理基于文本的数据。本文将深入探讨这两类流的原理、用途以及它们之间的关联。 ...

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。

    Java字符流和字节流

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

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

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

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

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

    IO各种操作文件,字符流、字节流等

    在Java IO中,主要有两种流的概念:字符流(Character Stream)和字节流(Byte Stream)。它们是处理数据的基本方式,适用于不同场景。 字符流主要处理基于字符的数据,如文本文件,它包括Reader和Writer两个抽象...

    一文读懂Java IO流 1. IO流基础概念 1.1 什么是IO流 1.2 IO流的分类 1.2.1 按数据传输单位分类 1.2.2 按功能角色分类 1.3 Java IO流体系结构 1.4 流的基

    1. IO流基础概念 1.1 什么是IO流 1.2 IO流的分类 1.2.1 按数据传输单位分类 1.2.2 按功能角色分类 1.3 Java IO流体系结构 1.4 流的基本操作 2. 字节流 2.1 InputStream - 输入字节流 2.2 FileInputStream - 文件输入...

    IO流 javaio java 流

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

    javaIO字符流文件写入总结共1页.pdf.zip

    Java IO字符流是Java平台中用于处理文本数据的重要部分,特别是在进行文件读写操作时。字符流处理单个字符,适合处理基于字符编码(如UTF-8、GBK等)的文本文件。本篇将深入探讨Java IO中的字符流以及如何进行文件...

    Java io输入输出流及字符集

    它们接受一个字符集参数,用于将字节流按指定字符集转换为字符流,反之亦然。 六、文件操作 Java的File类提供了文件和目录操作的基本功能,如创建、删除、重命名文件和目录。 七、内存流 ByteArrayInputStream和...

    JavaIO字节输出流的总结共6页.pdf.zip

    1. **字节流基础** - Java中的字节流主要由两个基类构成:`java.io.OutputStream`和`java.io.InputStream`。其中,`OutputStream`是所有字节输出流的父类,提供了基本的字节写入方法。 - 字节流主要用于处理二进制...

    io流详解,字符流和字节流代码

    本文件包“io流详解,字符流和字节流代码”显然是针对Java IO流的深入学习资源,包含了代码示例和可能的可视化解释。 IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理的是8位的数据...

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

    转换流:在字节流和字符流之间,Java提供了解决两者不兼容问题的转换流,即InputStreamReader和OutputStreamWriter。InputStreamReader是字节输入流到字符输入流的桥梁,而OutputStreamWriter则是字节输出流到字符...

    IO流学习(字节流 字符流 文本流)!

    总的来说,IO流是Java编程中不可或缺的一部分,理解和熟练运用字节流、字符流和文本流能帮助我们高效地处理数据输入和输出,为各种复杂的应用场景提供支持。在实际开发中,要根据数据类型和需求选择合适的流,并利用...

    Java基础11-(字节流、字符流)

    Java的IO流是按照数据的流向分为输入流和输出流,按照数据类型分为字节流和字符流。字节流处理的是二进制数据,适用于任何类型的文件,包括文本文件和非文本文件(如图片、音频、视频等)。字符流则用于处理字符数据...

    Java字节流与字符流的介绍.pdf

    Java 字节流与字符流的介绍 Java 中的流操作可以分为两种:字节流和字符流。字节流是指以 byte 为单位进行读写操作的流,而字符流是指以 char 为单位进行读写操作的流。 字节流的介绍 字节流的所有读操作都继承自...

    java io流 案例

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

    java字节流和字符流

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

    Java IO流 总结

    在Java IO流中,转换流是指将字节流转换为字符流或将字符流转换为字节流的过程。转换流可以解决字符集编码问题。 a) 输入流:InputStreamReader----&gt;解码 InputStreamReader是将字节流转换为字符流的输入流,负责...

Global site tag (gtag.js) - Google Analytics