编程开发人员一定绕不过IO操作,java也不例外。
前边有从IO流整体架构写的一点东西,现在来以字节流为例子写下读写操作。
package bean;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class 字节流 {
public static void main(String[] args) {
try {
//准备有内容的f1文件和空文件f2
File f1 =new File("d:/lol.txt");
File f2 =new File("d:/loo.txt");
//创建基于文件的输入流
FileInputStream fis =new FileInputStream(f1);
FileOutputStream foio = new FileOutputStream(f2);
/*
* 这个操作就是标准的读入写出操作,直接按照文件长度来搞就可以了
* */
byte[] b =new byte[(int)f1.length()];
fis.read(b);
foio.write(b);
/*
* 下边读入写出操作,是比较常用的因为控制了长度,所以精确度比较高
* 设定一个长度len
* 读入操作fis.read(all)会返回读入数据的实际长度,如果是-1的话表示读取完毕了
* 写出操作foio.write(all, 0, len);数组,开始位置,长度没啥好讲的
* */
//创建字节数组,其长度就是文件的长度
byte[] b =new byte[10];
int len = 0;
while((len=fis.read(b))!=-1) {
foio.write(b, 0, len);
System.out.println(len);
}
//每次使用完流,都应该进行关闭
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这篇博文似乎有些简单了。。。。今天先这样,明天再补上其他形式的。。。