JAVA IO流(1) 字节流和字符流

在学习java  io的内容


首先是io的分类:第一种:输入流和输出流

第二种:字符流和字节流

第三类:节点流和处理流


第一种不写了

第二种的字节流:输入和输出都是以字节为单位,使用时要用byte数组作为中转站;

package io;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class test {
	public static void main(String args[]) {
		//声明一个输入流的的引用
		FileInputStream in=null;
		//声明一个写出流的引用
		FileOutputStream out=null;
		try {
			//new 一个fileinputstream
			in= new FileInputStream("d:/2.txt");
			//new 一个fileoutputstream
			out=new FileOutputStream("d:/3.txt");
			
			//生成一个byte的数组
			byte [] one=new byte[1024];
			
			
			while(true)
			{
				//用一个int 来接受read函数的返回值(返回值为读取的字节数)
				int temp=in.read(one, 0, one.length);
				if(temp==-1)
					break;
			    out.write(one, 0, temp);
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
		finally{               //finally里面的close方法可以引起错误所以在里面嵌套一个try...catch方法
			try {
				in.close();
				out.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		
	}
}

其中read的返回值要注意,是int类型,意思为读取到的字节数;

如果在read做循环打印,则是打印出字符的code码!

其中while循环的作用是在进行大数据的工作时,分段读取写入可以提高效率和节约空间!

这其中的要点是read函数在读取完字节的时候的返回值是-1!用此来控制while函数里面的if函数的运行!


字符流:使用方法和上面类似;只不过把byte变成char类型下面贴入代码

这时如果打印就是打印出字符了

package io;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class chario {
	public static void main(String args []) {
		//生成一个filereader的引用
		FileReader reader=null;
		//生成一个filewriter的引用
		FileWriter writer=null;
		
		try {	
			//分别生成reader和writer的对象
			reader=new FileReader("D:/1.txt");
			writer=new FileWriter("D:/2.txt");
			
			//生成字符数组
			char [] one=new char [100];
			
			//调用两个对象的相应的函数,读取和写入
			int temp=reader.read(one, 0, one.length);//用temp来存储read的返回值
		
			writer.write(one, 0, temp);
			
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		finally{
			try {
				reader.close();
				writer.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			//开启io流之后必须关闭,不然eclipse不给运行
		}
	}

}

这就是字节流和字符流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值