字节输出流 OutputStream(基类,抽象)
    特点:写任意的文件
    方法:写出数据的方法:write
      write(int b) 写出1个字节 -128~127之间,写的是一个ASCLL码的值
      write(byte[] b) 写出字节数组
      write(byte[], int off, int len) 写出字节数组的一部分
      close() 关闭流,释放资源
  子类:FileOutputStream
      构造方法
         FileOutputStream(File file) 传递File对象,数据目的
         FileOutputStream(String filename) 传递字符串的文件名作为数据目的

  IO字节流写数据步骤
    1. 创建流对象的对象,构造方法中绑定数据目的
    2. 调用方法write写
    3. 关闭资源

  write的方法在做类型强转(将int强转为byte)

  绑定数据目的时数据目的地可以不存在,但必须在此路径下能够成功创建文件,否则FileNotFountException

  原理:IO本身没有在硬盘中读取数据的功能,是由JVM的IO调用了系统的IO功能读取数据,当文件中没有数据时,OS传给
     JVM一个结束标记,JVM将这个标记读取之后传个-1给内存,所以与文件中的数据本身没有关系

字节输入流 InputStream
  特点:读取字节数据,读取任意的文件
  方法:读取数据的方法:read
    int read() 读取1个字节
    int read(byte[] b) 读取字节数组

  子类:FileInputStream
    构造方法:
      FileInputStream(File file)传递File对象,此流读取的数据源
      FileInputStream(String filename)传递字符串文件名,此流读取的数据源

    输入流读取数据步骤
      1:创建字节输入流对象,构造方法中,绑定数据源
      2:调用方法read读取
      3:输出读取的结果
      4:释放资源

  注意:read():调用一次,自动向后读一个字节,文件末尾-1
     read方法在做类型的提升,将byte提升为int(在读取一个字节数据的时候,容易出现连续8个1的情况,正好符合流结束标记,将类型提升为
     int,保留该数据的同时,前面补0,避免-1)

字节输出流的缓冲流:
   java.io.BufferedOutputStream
      继承OutputStream 就是一个字节输出流,底层加了一个数组
      方法:来自于父类OutputStream
          write 字节,字节数组
      构造方法:
        BufferedOutputStream(OutputStream out)
        传递任意的字节输出流,传递来的是谁,就缓冲谁,提高效率

字节输入流的缓冲流:
   java.io.BufferedInputStream
      继承InputStream,也是字节输入流
      读取的方法:read 单个字节,字节数组
      构造方法:
        BufferedIputStream(InputStream in)
        传递任意的字节输入流,传递的是谁,就对谁高效 FileInputStream

IO初步,字节输入流和字节输出流的更多相关文章

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

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

  2. Java中的IO流之输入流|乐字节

    亲爱的乐字节的小伙伴们,小乐又来分享Java技术文章了.上一篇写到了IO流,这篇文章着重 谈谈输入流,再下次再说输出流. 点击回顾上一篇:乐字节Java之file.IO流基础知识和操作步骤 一. 输入 ...

  3. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_9_字节输入流读取字节数据

    硬盘读取到内存   read值会读一个字节 a.txt里面a变成整数就是97   读取到末尾,返回-1 再读一次还是-1 读取的代码是重复的.可以使用循环去读取.while循环. 转行成char类型的 ...

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

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

  5. Java IO详解(一)------字节输入输出流

    File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...

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

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

  7. Java IO详解(三)------字节输入输出流

    File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...

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

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

  9. IO概述(概念&分类)和字节输入流+OUTputStream类&FileOutPutStream类介绍

    IO概述 什么是IO 生活中,你肯定经历过这样的场景.当你编辑一个文本文件,忘记了保存,可能文件就白白编辑了.当你的电脑上插入一个U盘,可以吧一个视频,拷贝到你的电脑硬盘里,那么数据都是在哪些设备上的 ...

随机推荐

  1. jq-demo-点击改变图片

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. 百度网盘Mac版如何分享链接?创建百度网盘 for Mac分享链接的方法

    想把自己百度网盘里的数据分享给朋友,该怎么操作呢?有很多朋友使用百度网盘,可以很轻松的自己的文件上传到网盘上,并可跨终端随时随地查看和分享.下面Mac down小编就给大家介绍一下创建百度网盘 for ...

  3. Java中的接口是怎么实现的

    接口 使用关键字interface来定义一个接口,和类的定义方法很相似分为接口声明和接口体. interface  Printable { final int MAX = 100; void add( ...

  4. Ruby 中文编码

    Ruby 中文编码 前面章节中我们已经学会了如何用 Ruby 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会 ...

  5. thinkphp session支持

    系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成,该函数可以完成Session的设置.获取.删除和管理操作. session初始化设置 如果session ...

  6. thinkphp 动态配置

    之前的方式都是通过预先定义配置文件的方式,而在具体的操作方法里面,我们仍然可以对某些参数进行动态配置(或者增加新的配置),主要是指那些还没有被使用的参数. 设置新的值: C('参数名称','新的参数值 ...

  7. bzoj1022题解

    [题意分析] 最简单的Anti-Nim博弈模型. [解题思路] 引理:SJ定理 对于一个Anti-Nim游戏,只要有以下两条条件之一,先手必胜: 1.游戏的总SG函数为0且任意子游戏的SG函数不超过1 ...

  8. flutter WebView flutter js 互调

    通过webview 进行flutter 和js 的互调,页面可以放在其他网站 也可以放在本地,我这里放在本地进行测试. 1.引入webview_flutter: ^0.3.5+2 这个是官网推荐用的, ...

  9. Python-爬虫之股转系统下载文件自动翻页

    上次代码只能抓取一个网页上的链接,本次可以自主设定抓取的页面个数. 代码如下: from selenium import webdriver import os, time class Downloa ...

  10. detours学习

    最近学习detours3.0,总结下学习过程,给后来学习者一点参考,也便于自己以后复习 首先应该知道detours可以干什么,学习之前最好看一下detours文档,这个文档很简单,只有4篇文章,相对比 ...