2019第十周课程总结

课程总结

本周主要是学习了一些关于文件的操作,一些使用Java操作进行输入输出的操作。

字节流和字符流的基本操作

1)字节输出流:outputStream

常用方法:close()关闭输出流
flush()刷新缓冲区
write()写入数据流(但只能以字节写入)
以上方法如果重新执行会覆盖文件中的已有内容,想要追加新内容通过FileOutputStream类的另一种构造方法进行实例化,如下:

File f=new File(路径);
OutputStream os=new FileOutpuStream(f,true);

2)字节输入流:InputStream

常用方法:available() 取得输入文件的大小
close()关闭输入流
read()读取内容

3)字符输出流:Writer

常用方法:close()关闭输出流
write()输出字符串或字符数组
flush()强制清空缓存
追加文件使用FileWriter类,同字节输出流

4)字符输入流:Reader

常用方法:close()关闭
read()读取字符到数组

字节流和字符流区别在于字节流直接对文件进行操作,而字符流是将数据先放在缓存之后,在写入文件的

转换流OutputStreamWriter类与IntputStreamReader类

OutputStreamWriter类是Writer的子类将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流的输出对象。如下

Writer w=new OutputStreamWriter(new FileOutputStream(f));

IntputStreamReader类是Reader的子类将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象

Reader r=new InputStreamReader(new FileInputStream(f));

内存操作流程

字节内存流:ByteArrayInputStream(内存字节输入流);ByteArrayOutputStream(内存字节输出流)
字符内存流:CharArrayReader(内存字节输入流);CharArrayWriter(内存字节输出流)
首先是要声明内存的输入输出流,再去进行操作。

管道流

主要作用是可以进行两个线程间的通信
管道输出流:PipedOutputSream;管道输入流:PipedInputStream
用connect()方法来连接输出和输入流

打印流PrintStream

打印流进行格式化和C语言差不多

System类

1)System.out 向显示器上输出,是PrintStream的对象,PrintStream是OutputStream的字类,所以可以使用OutputStream向屏幕输出
2)Syatem.err 错误信息输出
3)System.in 键盘的输入流,是InputStream的对象

原文地址:https://www.cnblogs.com/H-Alice/p/11776906.html