字节流

 一.抽象基类InputStream、OutputStream

1.字节流可以操作任何数据

2.字符流使用的是字符数组;字节流使用的是字节数组

3.InputStream常用的方法

read():从流中读取数据

available():返回流中可用的字节数

4.OutputStream常用的方法

Write(int b);将一个整数输出到流中

实例9,FileInputStream和FileOutputStream的使用。

FileOutputStream fos = new FileOutputStream("a.txt");

fos.write("abcde");//直接将数据写入到了目的地。

fos.close();//只关闭资源。

FileInputStream fis = new FileInputStream("a.txt");

//fis.available();//获取关联的文件的字节数。

 

//如果文件体积不是很大,可以这样操作。

byte[] buf = new byte[fis.available()];//创建一个刚刚好的缓冲区。但是这有一个弊端,就是文件过大,大小超出jvm的内容空间时,会内存溢出。

fis.read(buf);

 

System.out.println(new String(buf));

二.转换器

1.OutputStreamWriter和InputStreamReader的构造—他们本身是字符流,又具有转换的作用,因此在构造的时候,需要传入字节流对象

public OutputStreamWriter(OutputStream out)

public OutputStreamWriter(OutputStream out, String charsetName)

public InputStreamReader(InputStream in)

public InputStreamReader(InputStream in, String charsetName)

实例10,转换流的使用。

操作文件的字符流FileReader和FileWriter是转换流的子类,因此从他们的继承关系就可以清楚的发现,不管是使用字节流还是字符流实际上最终都是以字节的形式操作输入和输出的。

注意:在使用FileReader操作文本数据时,该对象使用的是默认的编码表。如果要使用指定编码表时,必须使用转换流。

 

FileReader fr = new FileReader("a.txt");

//操作a.txt的中的数据使用的本系统默认的GBK

InputStreamReader isr = new InputStreamReader(new FileInputStream("a.txt"));

三.标准输入输出流

1.标准输入System.in
System.in作为字节输入流类InputStream的对象,实现标准的输入,使用其read()方法从键盘接收数据。

1.public int read() throws IOException  

2.public int read(byte[] i) throws IOException

2标准的输出System.out
System.out是打印流类PrintStream的对象,用来实现标准输出。print()和println()方法,支持任意的基本类型作为参数。

1.public void print(参数)

2.public void println(参数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值