10/27-11/2 java学习总结
10/27-11/2 java学习总结
File类
1.通过File类打开一个文件 。
2.通过字节流或字符流的子类指定输出位置。
3.经行读写操作。
4..关闭输入输出。
file中的主要方法和常见变量
java io
字节流:
字节流以操作byte类型数据为主,主要操作类为OutputStream类和InputSream类。
1.字节输出流OutputStream是整个IO包中字节输出流最大父类,
2.字节输入流InputSream为抽象类,需依靠子类
字符流
相同点
字符输出流Writer,字符输入流Reader都是是抽象类,详细见书p390
不同点
1.字节流在操作的时候是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的。
2. 字符流要使用close方法的话,则不会输出任何内容。字符流的缓冲区,可以使用flush方法强制进行刷新缓冲区,这时可以在不close的情况下输出内容。
字节流-字符流的转换类
OutputStreamWriter:是Writer的子类,将输出的字符流转换为字节流。即:将一个字节流的输出对象变为字节流的输出对象
InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变为字符流的输入对象。
FileInputStream
常用的构造方法重载形式
FileInputStream:通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream:通过打开一个到实际文件的链接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
转换流
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去。
内存流
字节数组
ByteArrayInputStream是字节数组输入流,在内存中创建了一个字节数组,将输入流中读取的数据保存到字节数组的缓存区中.也就是说字节数组输入流将读取数据放到字节数组缓冲区中.
ByteArrayOutputStream是创建缓冲区用的类
例 OutputStream bOut = new ByteArrayOutputStream(int a) 创造一个大小为n字节的缓冲区
字符数组
CharArrayReader类实现一个可用作 Writer 的字符缓冲区。缓冲区会随向流中写入数据而自动增长,可使用 toCharArray() 和 toString() 获取数据。
CharArrayWriter类用于将子u写入到内置字符缓存数组中
成功创建字节数组输出流对象后的操作
字符串
StringReader:只有一个版本的构造方法,接受一个String作为参数
StringWriter:StringWriter内部有两个版本的构造方法
管道流
PipedOutputStream和PipedInputStream分别是管道输出流和管道输入流。这个两个流必须同时使用。
打印流
打印流为输出信息最方便的类,其包括PrintStream类和PrintWriter类。
PrintStream 类
提供了打印方法可以对多种数据类型进行打印,并保持数据的表现形式。
它接收三种类型的值:字符串路径,File对象,字节输出流。
PrintWriter类
就非常实用的一种,很多地方都可以用到(不知道怎么说)