Java当中的I/O的字节流
I/O是input/output的缩写,即输入输出系统。
I/O操作即从数据源中读取数据,以及将数据写入到数据目的地中。读的来源(如文件、键盘、网络)和写的目的地(如文件、屏幕、网络)分为很多种。
数据的流向以java程序为参照物,数据进入到程序中使用输入流,数据从程序中出去则使用输出流。
“流”:在数据源和程序之间建立的用于数据流通的管道,数据通过管道一点点的流入/流出。
I/O的分类:
输入流/输出流,字节流/字符流,节点流/处理流
I/O当中字节流的核心类

InputStream类和OutputStream类是所有字节流类的父类,两个类都是抽象类。FileInputStream是InputStream的常用子类,用于从硬盘中读取数据。FileOutputStream是OutputStream的常用子类,用于把数据写入硬盘中。
核心类的核心方法:
InputStream:
int read(byte [] b, int off, int len)
read方法用于读取数据,第一个参数为byte类型的数组,用于存放读取到的数据。第二个参数为偏移量,规定读取的数据从数组的指定位置开始存放。第三个参数表示数组的长度,即read每次可读取数据的量。该方法的返回值为读取到的数据的字节数。
OutputStream:
void write(byte [] b, int off, int len)
write方法用于写入数据,第一个参数为要写入的数据,第二个参数为偏移量,规定数据从数组的指定位置开始写入,第三个参数表示要往硬盘中写入多少数据。
例子:读取文件和写入文件
import java.io.*; //导入I/O包中的类
class Test{
public static void main(String args[]){
FileInputStream fis = null;//声明输入流引用
FileOutputStream fos = null;//声明输出流引用
try{
//生成输入流对象,定位文件
fis = new FileInputStream("F:/Android/Java4Android/32/src/a.txt");
//生成byte数组存取数据
byte [] b = new byte[15];
//调用read方法读取数据并返回数据的大小
int bLen = fis.read(b,0,b.length);
//生成输出流对象,生成文件
fos = new FileOutputStream("F:/Android/Java4Android/32/src/b.txt");//文件不存在会自动生成
//调用write方法写入数据
fos.write(b,0,bLen);
}
catch(Exception e){
System.out.println(e);
}
}
}
//打印byte数组的内容
for(int i = 0; i< b.length; i++){
System.out.println(b[i]);
}

//还原成字符串 String s =new String (b); s = s.trim(); //去掉字符串首尾空格和空字符 System.out.println(s);
Java当中的I/O的字节流的更多相关文章
- 第55节:Java当中的IO流-时间api(下)-上
Java当中的IO流(下)-上 日期和时间 日期类:java.util.Date 系统时间: long time = System.currentTimeMillis(); public class ...
- 第54节:Java当中的IO流(中)
Java当中的IO流(中) 删除目录 // 简书作者:达叔小生 import java.io.File; public class Demo{ public static void main(Stri ...
- 第53节:Java当中的IO流(上)
Java当中的IO流 在Java中,字符串string可以用来操作文本数据内容,字符串缓冲区是什么呢?其实就是个容器,也是用来存储很多的数据类型的字符串,基本数据类型包装类的出现可以用来解决字符串和基 ...
- 第39节:Java当中的IO
Java当中的IO IO的分类 第一种分:输入流和输出流 第二种分:字节流和字符流 第三种分:节点流和处理流 节点流处理数据,处理流是节点流基础上加工的. IO中的重点: InputStream Ou ...
- Java当中的IO流-时间api(下)-上
Java当中的IO流(下)-上 日期和时间 日期类:java.util.Date 系统时间: long time = System.currentTimeMillis(); public class ...
- Java当中的IO流(中)
Java当中的IO流(中) 删除目录 import java.io.File; public class Demo{ public static void main(String[] args){ / ...
- Java当中的IO流(上)
Java当中的IO流 在Java中,字符串string可以用来操作文本数据内容,字符串缓冲区是什么呢?其实就是个容器,也是用来存储很多的数据类型的字符串,基本数据类型包装类的出现可以用来解决字符串和基 ...
- Java当中的内存分配以及值传递问题内存解析
首先必须说明作为Java程序员对于内存只要有大致的了解就可以了,如果你对Java当中的某一个知识点在不需要分析内存分配过程的情况下可以掌握,那就大可不必去研究内存.如果你对知识点已经掌握,那么你应该把 ...
- java.io中流的操作:字节流、字符流
java.io中流的操作:字节流.字符流(1)使用File类打开一个文件(2)通过字节流或字符流的子类指定输出的位置(3)进行读/写操作(4)关闭输入/输出 1.字节流:主要是byte类型数据,以by ...
随机推荐
- android 提高进程优先级 拍照永不崩溃(闪退)
首先科普一下Android系统进程的优先级: 当系统的内存不足时, android系统将根据进程优先级选择杀死一些不太重要的进程. 进程优先级从高到低分别为: 1. 前台进程. 以下的进程为前台进程: ...
- J1签证办理全过程
从3月底开始申请,整理J1的材料,一直到现在VISA的status变成了issued,中间被check了20多天,终于快要可以去silicon valley了. 废话不多说,J1签证很easy,不要有 ...
- 用Java开发代理服务器
基础知识 不管以哪种方式应用代理服务器,其监控HTTP传输的过程总是如下: 步骤一:内部的浏览器发送请求给代理服务器.请求的第一行包含了目标URL. 步骤二:代理服务器读取该URL,并把请求转发给合适 ...
- http 302
404 not found500 internal server error 302临时重定向.指被访问的网页由于各种需求临时跳转到其它页面. yii若用户为游客状态,但controller中添加了权 ...
- MyEclipse简单设置
1.设置 安装完MyEclipse后,先设置工作空间的编码. Window—preferences—General--workspace—选择UTF-8编码 创建HTML的文件后,如果不是UTF- ...
- PowerDesigner之PDM(物理概念模型)
一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...
- Android IOS WebRTC 音视频开发总结(五三)-- 国内IM & RTC SDK列表
本文主要总结国内提供RTC SDK的产品,转载必须说明出处,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help 自从开通邮件和微信公众号以来,很多 ...
- Conditional Counting In SQL
If you ever want to conditionally count the number of times a particular condition occurs in SQL, ...
- [leetcode]_Pascal's Triangle II
题目:Pascal三角的变形,要求只用O(K)的额外空间. 思路:由于Pascal三角中,tri[n][i] = tri[n - 1][i] + tri[n-1][i-1],(通常情况下) 如果已经获 ...
- 线程间通信--wait和notify
使用wait.notify方法实现线程间的通信(注意这两个方法都是object的类的方法,换句话说java为所有的对象都提供了这两个方法) 1.wait和notify必须配合synchronized关 ...