【Java】IO流基础知识

一、Java的输入、输出流主要由InputStream/Reader、 OutputStream/Writer作为抽象基类,InputStream、OutputStream所操作的数据单元是8位的字节流,而Reader/Writer所操作的数据单元是16位的字符流。

下面是使用示例:

//FileInputStreamTest>>>>>>>>>>>>>>>>>>>>>>>>>
//和InputStream对应的字节流,故定义byte数组
FileInputStream fis = new FileInputStream("C:\\Users\\dell\\Desktop\\mykey.txt");
FileOutputStream fos = new FileOutputStream("C:\\Users\\dell\\Desktop\\tokey.txt");
byte[] buffer = new byte[1024];
int len = 0;
while((len = fis.read(buffer))> 0){
<span style="white-space:pre">	</span>System.out.println(new String(buffer,0,len));
	fos.write(buffer, 0, len);
}
fis.close();
fos.close();
//FileInputStreamTest>>>>>>>>>>>>>>>>>>>>>>>>>
		
//FileReaderTest>>>>>>>>>>>>>>>>>>>>>>>>>
//和Reader对应的字符流,故定义char数组
FileReader fr = new FileReader("C:\\Users\\dell\\Desktop\\copy.txt");
FileWriter fw = new FileWriter("C:\\Users\\dell\\Desktop\\tocopy.txt");
char[] cbuf = new char[64];
int clen = 0;
while((clen = fr.read(cbuf))> 0){
	System.out.println(new String(cbuf,0,clen));
	fw.write(cbuf, 0, clen);
}
fr.close();
fw.close();
//FileReaderTest>>>>>>>>>>>>>>>>>>>>>>>>>


二、处理流是高级流,包装节点流,使得输入输出操作更简单,执行效率高。通常只用在创建处理流时传入一个节点流作为构造器参数,这样该处理流就是包装了该节点流的处理流。例如,使用缓冲流BufferedReader来包装InputSreamReader(将字节输入转换成字符输入流):
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader);


三、对象序列化的目标是将对象保存在磁盘中,或允许在网络中直接传输对象。让某个对象支持序列化机制,则必须让它的类是可序列化的(Serializable),通过实现 Serializable接口,无须实现任何方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值