当我们队大量数据进行保存时可以用数组,当数据到达一定量时或给用户一个易懂得接口时就可采用IO流:  IO流按进行的操作分输出流与输入流InputStream与OutputSteam

按操作的原理来分有2种常见的IO流字节流与缓冲流:这2种IO的的输入输出流都是对程序而言对程序而言(类似与惯性参考系)FlieIputStream输入流是将文件中的数据引用到程序中来。FileOutputSteam是将程序中的数据输入文件但与BuffredIputSteam和BuffrediputSteam相比字节流是一个字节一个字节对数据进行读取而缓冲流则是在Jvm上有块内存当

这块内存满了之后才向文件输出。因此在使用缓冲输出流是要注意对缓冲区类剩下位的数据进行强制输出。这2种IO流对读取和写入类自带的函数都市read()与Write(),关闭IO流对剩下的数据操作都是close()。

    

package 盘;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
 * 用字节流对数据进行拷贝
 */

public class Stream {
 byte[] date; //文件中的数据
 public static void main(String args[])
 {
   
   Stream stream=new Stream();
   stream.read("G:\\[th12] 东方星莲船 (汉化版+日文版).rar");//要拷贝的文件的路径
    stream.white("G:\\boot\\th12.rar");//拷贝后的地址和新的文件名
   
   
 }
 
  public void read(String route)
  {
    try {
     FileInputStream  source= new FileInputStream(route);//实例化一个字节输入流输入文件路径建立通道
     int size;//文件所含字节数
     try {
      
      size=source.available();//返回文件的字节大小
      date=new byte[size];
      source.read(date);//将文件存入数组之中
      source.close();//关闭字节流强制输出剩下未满一字节的数据
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    } catch (FileNotFoundException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     
            }      
  
         }
  public void white(String routet)
  {
    try {
     FileOutputStream out =new FileOutputStream(routet);//实例化一个输出流用输出的路径和文件名建立通道
     try {
      out.write(date);//要输出将数据给函数
      out.close();//关闭输出流
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      
     }
    } catch (FileNotFoundException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     
    }
    
  }
  相对于字节流的不同缓冲流在 实例化时:BufferedInputStream buffered=new BufferedIputStream(new FileIputStream(//c//xx.),4000);//通过IputStream或其子类传路径 int类型开辟空间。

下面是IO流公有的父类IputStream和OutputStream的几个方法即所有IO流都有的几个方法

IputStream

abstract int read()

从数据中返回一个字节,在末尾时返回-1

int read(byte[])

一次返回b.length个字节数据。数据末尾是返回-1

int  read(byte[]b,int off,int len)

//从b[off]开始存len个数据到b中

long skip(long n)//逃过N个字节返回跳过字节数

int avaliable()//返回数据的字节数

OutputStream

abstract void write(int n)

向代码外部输入一个字节的数据。

void write(byte[]b)

void write(byte[]b,int off,int len)

void close()

//关闭输出流

void fluse()

//取出缓冲中剩下的数据

    

转载于:https://www.cnblogs.com/gaoqiqi/p/5807146.html

Io流的字节流与缓冲流相关推荐

  1. 【Java网络编程与IO流】Java中IO流分为几种?字符流、字节流、缓冲流、输入流、输出流、节点流、处理流

    Java网络编程与IO流目录: [Java网络编程与IO流]Java中IO流分为几种?字符流.字节流.缓冲流.输入流.输出流.节点流.处理流 [Java网络编程与IO流]计算机网络常见面试题高频核心考 ...

  2. 字符流、字节流、缓冲流、序列化流

    1.文件拷贝的基本代码 2.一次读取多个字节 3.异常处理 但是上述的释放过程太繁琐,于是便用AutoCloseable接口简化释放过程 JDK7: JDK9: 4.各种字词计算机存储规则 所以底层二 ...

  3. JAVA I/O流 字符流和字节流、节点流和处理流(包装流、过滤流)、缓冲流

    JAVA IO流 一.相关概念 1.分类: 区别和联系 代码 嵌套的IO流关闭的问题 一.相关概念 I/O流: Input/Output Stream,文件输入输出流. 1.分类: 输入流 和 输出流 ...

  4. java I/O流:字节流和字符流(概要及其方法)

    ** java I/O流:字节流和字符流(概要及其方法) ** IO流按照操作数据的不同可分为字节流和字符流.按照数据传输方向的不同又可以分为输入流和输出流.程序从输入流中读取数据,向输出流中写入数据 ...

  5. java 笔记(4) —— java I/O 流、字节流、字符流

    Java中使用流来处理程序的输入和输出操作,流是一个抽象的概念,封装了程序数据于输入输出设备交换的底层细节.JavaIO中又将流分为字节流和字符流,字节流主要用于处理诸如图像,音频视频等二进制格式数据 ...

  6. IO流 序列化反序列化 Properties 缓冲流 字节流 字符流

    package com.llb.io;import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundE ...

  7. mysql 字节流_字节流至缓冲流

    字节流 字节输出流OutputStream(抽象类) 常用方法: 代码实例: 1 public static void main(String[] args) throwsIOException {2 ...

  8. IO流、字节流和字符流

    Java 一.IO流 1.1 概念 1.2 分类 1.3 IO流的父类 二.字节流 2.1 概念 2.2 OutputStream 2.2.1 常用方法 2.2.2 FileOutputStream类 ...

  9. IO流,字节流和字符流

    一.概述 IO流用来处理设备之间的数据传输 上传文件和下载文件 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 二.IO流的分类: (1)流向:         输入流 读取 ...

最新文章

  1. TCP 客户端程序开发
  2. 大牛讲堂 | 邬书哲:物体检测算法的革新与传承
  3. 使用Eclipse进行Javaweb项目开发时,如何设置外置浏览器Chrome
  4. Windows Phone 7 浏览器打开新窗口问题
  5. SQLServer数据库收缩相关知识笔记
  6. java resize_OpenCV3 Java图像放大缩小 修改图像大小(Imgproc.resize)
  7. 【mysql】Innodb三大特性之double write
  8. 混合模型和EM---混合高斯
  9. Windows 的开发好痛苦
  10. 百度前端技术学院-task1.8源代码以及个人总结
  11. The surface has been released错误原因(亲测有效)
  12. STK与VC++联合编程实战(第二回:STK服务准备初始化)
  13. 汪海Python爬虫(一)抓取网页的含义和URL基本构成
  14. Python货币转换
  15. 鸿蒙系统sp3什么意思,XP系统的那个SP3是什么意思?
  16. TortoiseSvn文件夹及文件图标不显示
  17. 独家-县域统计年鉴Excel版(2000-2021年)-包含县市及乡镇卷
  18. OneTab: 一键合并所有 Chrome 浏览器标签页
  19. 怎样的人生才是好的呢?
  20. YLAN_TRANSLATE ABAP程序批量翻译工具

热门文章

  1. css新闻列表优化-突破思维新方法更利于搜索引擎
  2. FLASH处理图像的移动、缩放、旋转、颜色变换的类推荐。
  3. 小米4c怎么添加语言怎么设置在哪里,小米4c路由器设置教程
  4. crontab 最小间隔_今天我间隔了:如何找到不在数组中的最小数字
  5. meteor从入门到精通_我已经大规模运行Meteor一年了。 这就是我所学到的。
  6. 1070 Mooncake
  7. matlab实验是啥,matlab实验心得体会
  8. Feign实现服务调用
  9. Enable PowerShell script execution policy
  10. 软件架构设计学习总结(1):标准Web系统的架构分层