1、字节输入流——硬盘中数据写出到内存中供解析使用:

根据文件存储原理,8位二进制组成为一个字节,换算后的数值在0-127则查询ASCII码表,其他则查询系统默认表,如简体中文查询GBK表;

2、FileInputStream文件字节输入流:

3、FileInputStream使用实例:

其中,每次调用read方法指针后移一位;最后返回值为-1,继续读一直是-1;

当长度即元素数量已知时候(点size() 或者 点length() )使用for循环,有索引的可以使用for each 也可以用普通for循环(初始化表达式; 步进表达式; 布尔表达式),

没有索引的时候只能使用增强for循环及for each;

当长度即元素数量未知时候,使用while循环,括号里是布尔表达式即循环条件即循环结束条件;

若while括号中的条件布尔表达式不用变量接收再判断的话:

运行结果:

其中,while括号中的条件布尔表达式不用变量接收直接进行判断的话,会少值,因为每次执行FileInputStream方法时候,指针都在后移一位;

前者使用变量接收,输出打印变量,只执行了一次read()方法;

后者执行了两次read()方法;

4、InputStream从硬盘写出数据到内存然后读取的原理:

其中红色指针一直在向后移动;

windows系统和linux系统的结束标记不一样,但通过java虚拟机jvm处理返回到程序里面都是-1;

InputStream字节输入流的更多相关文章

  1. File类的基本操作之InputStream字节输入流

    话不多少,我直接把代码贴上来了.有什么问题请给我留言 package org.mark.streamRW; import java.io.File; import java.io.FileInputS ...

  2. 字节输出流的续写和换行和字节输入流InputStream类&FileInputStream类介绍

    数据追加续写 每次程序运行,创建输出流对象,都会清空目标文件中的数据.如何保目标文件中的数据,还能继续添加新数据呢? public FileOutputStream(File file,boolean ...

  3. java IO流 之 字节输入流 InputString()

    学习java的重点之一:InputStream  字节输入流的使用 (1)FileInputstream: 子类,读取数据的通道 使用步骤: 1.获取目标文件:new File() 2.建立通道:ne ...

  4. 字节输入流_InputStream类&FileInputStream类介绍和字节输入流读取字节数据

    java.io.InputStream:字节输入流 此抽象类是表示字节输入流的所有类的超类 定义了所有子类共性的方法: int read()从输入流中读取数据的下一个字节 int read(byte[ ...

  5. 字节输入流:io包中的InputStream为所有字节输入流的父类。

    字节输入流:io包中的InputStream为所有字节输入流的父类. Int read();读入一个字节(每次一个): 可先使用new  byte[]=数组,调用read(byte[] b) read ...

  6. [19/03/30-星期六] IO技术_四大抽象类_ 字节流( 字节输入流 InputStream 、字符输出流 OutputStream )_(含字节文件缓冲流)

    一.概念及分类 InputStream(输入流)/OutputStream(输出流)是所有字节输入输出流的父类 [注]输入流和输出流的是按程序运行所在的内存的角度划分的 字节流操作的数据单元是8的字节 ...

  7. 00090_字节输入流InputStream

    1.字节输入流InputStream (1)通过InputStream可以实现把内存中的数据写出到文件: (2)把内存中的数据写出到文件InputStream此抽象类,是表示字节输入流的所有类的超类. ...

  8. Java 之 字节输入流 [InputStream]

    一.字节输入流 java.io.InputStream 抽象类是表示字节输入流的所有类的超类,可以读取字节信息到内存中. 它定义了字节输入流的基本共性功能方法. 共性方法: public void c ...

  9. java 20 - 9 带有缓冲区的字节输出流和字节输入流

    由之前字节输入的两个方式,我们可以发现,通过定义数组读取数组的方式比一个个字节读取的方式快得多. 所以,java就专门提供了带有缓冲区的字节类: 缓冲区类(高效类) 写数据:BufferedOutpu ...

随机推荐

  1. css 颜色表示法

    css颜色值主要有三种表示方法: (1)颜色名表示,如:red红色,gold金色 (2)rgb表示,如:rgb(255,0,0)表示红色 (3)16进制数值表示,如:#ff0000表示红色,这种可以简 ...

  2. 关于UITabBarController的设置(iOS 开发)

    1.设置图片(选中以及未选中) UITabBarItem *TuiJianItem=[[UITabBarItem alloc]initWithTitle:@"我的" image:[ ...

  3. Spring MVC 原理探秘 - 容器的创建过程

    1.简介 在上一篇文章中,我向大家介绍了 Spring MVC 是如何处理 HTTP 请求的.Spring MVC 可对外提供服务时,说明其已经处于了就绪状态.再次之前,Spring MVC 需要进行 ...

  4. HTML入门6

    这篇将简单会编写网页整体网站架构,通过HTML来表示网站结构. 标题<header>,通常顶部有个大标题或图标,是网站的主要常见信息,存在于每个网页 导航<nav>,通常包含菜 ...

  5. [LeetCode] All Paths From Source to Target 从起点到目标点到所有路径

    Given a directed, acyclic graph of N nodes.  Find all possible paths from node 0 to node N-1, and re ...

  6. CF_2018-2019 Russia Open High School Programming Contest (Unrated, Online Mirror, ICPC Rules, Teams Preferred)

    只做了两个就去上课去啦... A. Company Merging time limit per test 1 second memory limit per test 512 megabytes i ...

  7. 条件结构if

    教程: 高能:语句结构都是由关键字开头,用冒号结束! 一:语句结构    if condition_1:    statement_block_1elif condition_2:    statem ...

  8. Ubuntu mysql连接错误10060/10061的方法

    mysql 10060错误一般因为防火墙 ufw allow 3306; //允许外部访问3306端口ufw allow from 192.168.1.115;  //允许此IP访问所有的本机端口uf ...

  9. 壁虎书8 Dimensionality Reduction

    many Machine Learning problems involve thousands or even millions of features for each training inst ...

  10. apache tomcat的安装

    第一步:下载及安装. 1.首先进入apache的官网网址:www.apache.org 2.点击 projects 3.进入tomcat下载页面. 4.点击tomcat 9 5.认准是Binary D ...