码迷,mamicode.com
首页 > 编程语言 > 详细

Java当中的I/O的字节流

时间:2014-11-06 23:31:54      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:android   blog   http   io   ar   os   使用   java   for   

I/O是input/output的缩写,即输入输出系统。

I/O操作即从数据源中读取数据,以及将数据写入到数据目的地中。读的来源(如文件、键盘、网络)和写的目的地(如文件、屏幕、网络)分为很多种。

数据的流向以java程序为参照物,数据进入到程序中使用输入流,数据从程序中出去则使用输出流。

“流”:在数据源和程序之间建立的用于数据流通的管道,数据通过管道一点点的流入/流出。

I/O的分类:

输入流/输出流,字节流/字符流,节点流/处理流

I/O当中字节流的核心类

bubuko.com,布布扣

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);
		}
	}
}

bubuko.com,布布扣 

//打印byte数组的内容
for(int i = 0; i< b.length; i++){
	System.out.println(b[i]);
}

bubuko.com,布布扣

//还原成字符串
String s =new String (b);
s = s.trim();
//去掉字符串首尾空格和空字符
System.out.println(s);

bubuko.com,布布扣  

  

Java当中的I/O的字节流

标签:android   blog   http   io   ar   os   使用   java   for   

原文地址:http://www.cnblogs.com/chavez-wang/p/4080160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!