举报投诉联系我们 手机版 热门标签 VUE中文网
您的位置:VUE中文网 > java的输入流 Java 推回输入流

java的输入流 Java 推回输入流

2023-04-16 04:17 Java教程

java的输入流 Java 推回输入流

java的输入流

Java输入流是一种用于从源读取数据的流,它可以从文件、字节数组、字符串或其他输入源中读取数据。Java中的输入流是一种面向流的I/O API,它使开发人员能够从应用程序中读取数据。

Java输入流有很多不同的子类,它们都是java.io包中的InputStream和Reader的子类。InputStream是一个抽象基类,它用于读取原始字节流。Reader是一个抽象基类,它用于读取字符流。

InputStream有很多不同的子类,如FileInputStream、ByteArrayInputStream、ObjectInputStream、PipedInputStream和BufferedInputStream。FileInputStream用于从文件中读取原始字节流;ByteArrayInputStream用于从字节数组中读取原始字节流;ObjectInputStream用于将对象写入到文件或者内存中;PipedInputStream用于在两个独立进程之间传递数据;BufferedInputStream用于将原始字节流包装成带有内部缓冲区的高性能I/O流。

Reader也有很多不同的子类,如FileReader、StringReader、CharArrayReader和BufferedReader。FileReader用于从文件中读取字符流;StringReader用于将String对象作为一个特殊的文本来源来读取字符流;CharArrayReader用于将char数组作为一个特殊的文本来源来读取字符流;BufferedReader用于将原始字符流包装成带有内部行阅读器的高性能I/O流。

 
// 使用 FileInputSteam 读取文件数据 
try { 
    File file = new File("test.txt"); 
    FileInputStream fis = new FileInputStream(file); 

    int data; 

    while ((data = fis.read()) != -1) { 
        System.out.print((char) data); 
    } 

    fis.close(); 
} catch (IOException e) { 
    e.printStackTrace(); 
}  											   

Java 推回输入流

Java IO教程 - Java推回输入流


PushbackInputStream向输入流添加功能,允许我们使用其unread()方法推回读取的字节。

有三个版本的unread()方法。一个让我们推回一个字节,另外两个让我们推回多个字节。

例子

import java.io.FileInputStream;
import java.io.PushbackInputStream;

public class Main {
  public static void main(String[] args) {
    String srcFile = "test.txt";

    try (PushbackInputStream pis = new PushbackInputStream(new FileInputStream(
        srcFile))) {
      byte byteData;
      while ((byteData = (byte) pis.read()) != -1) {
        System.out.print((char) byteData);
        pis.unread(byteData);
        // Reread the byte we unread
        byteData = (byte) pis.read();
        System.out.print((char) byteData);
      }
    } catch (Exception e2) {
      e2.printStackTrace();
    }
  }
}

上面的代码生成以下结果。




阅读全文
以上是VUE中文网为你收集整理的java的输入流 Java 推回输入流全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • java中模式匹配 Java 流匹配

    java中模式匹配 Java 流匹配

    2023-04-21 Java教程

    Java流 -Java流匹配Streams API支持对流元素执行不同类型的匹配操作。Stream接口中的以下方法用于执行匹配操作:boolean allMatch...

  • javafx颜色选择器外观 JavaFX 颜色选择器

    javafx颜色选择器外观 JavaFX 颜色选择器

    2023-03-23 Java教程

    JavaFX教程 -JavaFX颜色选择器颜色选择器控件使用户能够从可用范围中选择颜色,或通过指定RGB或HSB组合设置附加颜色。JavaFX Col...

  • java 分隔符 JavaFX 分隔符

    java 分隔符 JavaFX 分隔符

    2023-05-02 Java教程

    JavaFX教程 -JavaFX分隔符Separator类表示水平或垂直分隔线。它分割元素,不产生任何动作。我们可以设计风格,应用视觉效果,并...

  • javafx 列表 JavaFX 列表视

    javafx 列表 JavaFX 列表视

    2023-05-24 Java教程

    JavaFX教程 -JavaFX列表视图ListView类允许我们显示一个可滚动的项目列表。创建列表视图以下代码创建了一个ListView并在之后填充...

  • javafx表 JavaFX 条形

    javafx表 JavaFX 条形

    2023-06-23 Java教程

    JavaFX教程 -JavaFX条形图条形图是具有可以是垂直或水平的矩形条的双轴图表。import javafx.application.Application;import jav...

© 2024 VUE中文网 vue88.com 版权所有 联系我们