【Java基础】输入流输出流总结

 

1.输入输出流

:流就是指一连串连续的字符,以先进先出的方式发送信息的通道。

输出流:用程序将数据写入到输出设备当中;

 (图片来源于慕课网,侵删)

输入流:从输入设备当中读取数据到程序;

 

 (图片来源于慕课网,侵删) 

文件输入——读       

文件输出——写

读入写出

 

2.File类

文件的概念:文件可认为是相关记录或放在一起的数据的集合。

File file1 = new File("D:\\feng\\io\\test.txt");

小知识点:

(1)Windows中的目录分隔符为“\”;

                    Linux中的目录分隔符为“/”。

通常在写路径时候,需要写成“\\”两个反斜杠,那是因为“\"本身是一个转移字符,”\\“才是代表了一个反斜杠。

(2)绝对路径:从盘符开始的路径;

    相对路径:从当前路径开始的路径。

3.输入输出方式

字节流

a.字节输入流(InputStream)

I.FileInputStream

方法:public int read() //a.返回为-1时,表示已经读到文件的末尾。b.每执行一次,读取下一个字节c.返回值为读取字节个数;

            public int read(byte[] b)将输入流的中最多b.length个字节读入byte数组b中。

            public void close()//表示关闭此文件输入流并释放与此有关的所有系统资源。(很重要,别遗忘!)

以下是非常经典的核心代码:

while((n = fis.read()) != -1) {
	System.out.print((char)n);
}

b.字节输出流(OutputStream)

I.FileOutputStream

方法:public void write() //将指定字节写入此文件输出流;

            public void write(byte[] b)将b.length个字节从指定byte数组b写入此文件输出流当中。

            public void close()//表示关闭此文件输出流并释放与此有关的所有系统资源。(很重要,别遗忘!)

 

&&简单介绍它们的子类——缓冲流:

BufferedOutputStream:当缓冲区满的时候,或者flush()强制清空缓冲,或者close()释放资源,才会执行write方法,

fos = new FileOutputStream("buffered.txt");
	bos = new BufferedOutputStream(fos);
	fos.write(50);
	fos.write('a');
	bos.flush();

4.字符流输入输出流

a.字符输入流(Reader)

b.字符输出流(Writer)

 

5.字节字符输入输出流

将网络上的二进制数据转换为字符串;

fis = new FileInputStream("imooc1.txt");
			isr = new InputStreamReader(fis);
//			fos = new FileOutputStream("imooc2.txt");
//			osw = new OutputStreamWriter(fos);
			int n = 0;
			char[] cbuf = new char[10];
			while((n = isr.read(cbuf)) != -1) {
				osw.write(cbuf,0,n);
				osw.flush();
			}

6.对象序列化——把Java对象转换为字节序列的过程

       反序列化——把字节序列转为为Java对象的过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值