资讯专栏INFORMATION COLUMN

IO字节流8,9InputStream以及输入流读取字节数据

wmui / 982人阅读

摘要:字节输入流此抽象类是表示字节输入流的所有类的超类。定义了所有子类共性的方法从输入流中读取数据的下一个字节。从输入流中读取一定数量的字节,并将其存储在缓冲区数组中。关闭此输入流并释放与该流关联的所有系统资源。

package com.itheima.demo02.InputStream;

import java.io.FileInputStream;
import java.io.IOException;

/*

java.io.InputStream:字节输入流
此抽象类是表示字节输入流的所有类的超类。

定义了所有子类共性的方法:
     int read()从输入流中读取数据的下一个字节。
     int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
     void close() 关闭此输入流并释放与该流关联的所有系统资源。

java.io.FileInputStream extends InputStream
FileInputStream:文件字节输入流
作用:把硬盘文件中的数据,读取到内存中使用

构造方法:
    FileInputStream(String name)
    FileInputStream(File file)
    参数:读取文件的数据源
        String name:文件的路径
        File file:文件
    构造方法的作用:
        1.会创建一个FileInputStream对象
        2.会把FileInputStream对象指定构造方法中要读取的文件

读取数据的原理(硬盘-->内存)
    java程序-->JVM-->OS-->OS读取数据的方法-->读取文件

字节输入流的使用步骤(重点):
    1.创建FileInputStream对象,构造方法中绑定要读取的数据源
    2.使用FileInputStream对象中的方法read,读取文件
    3.释放资源

*/
public class Demo01InputStream {

public static void main(String[] args) throws IOException {
    //1.创建FileInputStream对象,构造方法中绑定要读取的数据源
    FileInputStream fis = new FileInputStream("09_IOAndPropertiesc.txt");
    //2.使用FileInputStream对象中的方法read,读取文件
    //int read()读取文件中的一个字节并返回,读取到文件的末尾返回-1
    /*int len = fis.read();
    System.out.println(len);//97 a

    len = fis.read();
    System.out.println(len);// 98 b

    len = fis.read();
    System.out.println(len);//99 c

    len = fis.read();
    System.out.println(len);//-1

    len = fis.read();
    System.out.println(len);//-1*/

    /*
        发现以上读取文件是一个重复的过程,所以可以使用循环优化
        不知道文件中有多少字节,使用while循环
        while循环结束条件,读取到-1的时候结束

        布尔表达式(len = fis.read())!=-1
            1.fis.read():读取一个字节
            2.len = fis.read():把读取到的字节赋值给变量len
            3.(len = fis.read())!=-1:判断变量len是否不等于-1
     */
    int len = 0; //记录读取到的字节
    while((len = fis.read())!=-1){
        System.out.print(len);//abc
    }

    //3.释放资源
    fis.close();
}

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76177.html

相关文章

  • Java IO

    摘要:分类一按操作方式类结构字节流和字符流字节流以字节为单位,每次次读入或读出是位数据。该对象并不是流体系中的一员,其封装了字节流,同时还封装了一个缓冲区字符数组,通过内部的指针来操作字符数组中的数据。 分类一:按操作方式(类结构) 字节流和字符流: 字节流:以字节为单位,每次次读入或读出是8位数据。可以读任何类型数据。 字符流:以字符为单位,每次次读入或读出是16位数据。其只能读取字符类...

    Salamander 评论0 收藏0
  • 第十一章-IO#yyds干货盘点#

    摘要:是一个系统支持的所有字符的集合,包括各国家文字标点符号图形符号数字等字符集简体中文码表。支持中国国内少数民族的文字,同时支持繁体汉字以及日韩汉字等字符集为表达任意语言的任意字符而设计,是业界的一种标准,也称为统一码标准万国码。 1 File1.1 File类的概述和构造方法File: 它是文件和目录路径名的抽象...

    不知名网友 评论0 收藏0
  • 高薪程序员&面试题精讲系列22之说说Java的IO,常用哪些IO

    摘要:一面试题及剖析今日面试题今天壹哥带各位复习一块可能会令初学者比较头疼的内容,起码当时让我很有些头疼的内容,那就是流。在这里壹哥会从两部分展开介绍流,即与流。除此之外尽量使用字节流。关闭此输入流并释放与流相关联的任何系统资源。 一. 面试题及剖析 1. 今日面试题 今天 壹哥 带各位复习一块可...

    fnngj 评论0 收藏0
  • Java编程基础21——IO()

    摘要:流按操作类型分为两种字节流字节流可以操作任何数据因为在计算机中任何数据都是以字节的形式存储的字符流字符流只能操作纯字符数据,比较方便。 1_IO流概述及其分类 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流。 流按操作类型分为两种: 字节流 : 字节流可以操作任何数据,因为在...

    yanbingyun1990 评论0 收藏0
  • 第十五章 输入输出系统

    摘要:在包下主要包括输入输出两种流,每种输入输出流又可分为字节流和字符流两大类。输入输出是从程序运行所在的内存的角度而言的。的输入流主要由和作为基类,而输出流主要由和作为基类。 本章主要参考和摘自疯狂java讲义上面的(java编程思想的后面看过后有新的内容再补充进去吧)。  输入输出是所有程序都必需的部分————使用输入机制允许程序读取外部数据(包括磁盘、光盘等存储设备上的数据和用户输入的...

    hankkin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<