标签:android blog http io ar os 使用 java for
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);
标签:android blog http io ar os 使用 java for
原文地址:http://www.cnblogs.com/chavez-wang/p/4080160.html