黑马程序员--------JAVA基础IO
2015-04-23 22:25
253 查看
IO流的分类:
流向分类:
输入流
输出流
类型分类:
字节流
字节输入流:
InputStream 字节输入流 超类
|- FileInputStream 基本的流
|- BufferedInputStream 高效的流
字节输出流:
OutputStream 字节输出流 超类
|- FileOutputStream 基本的流
|- BufferedOutputStream 高效的流
字符流
字符输入流:
Reader 字符输入流 超类
|- InputStreamReader 转换流 属于 字符输入流
|- FileReader 基本的流
|- BufferedReader 高效的流
字符输出流:
Writer 字符输出流 超类
|- OutputStreamWriter 转换流 属于 字符输出流
|- FileWriter 基本的流
|- BufferedWriter 高效的流
IO流中常见的方法:
如何实现文件中数据的追加?
构造方法中实现, 构造方法的第二个参数设置为true
FileOutputStream
FileWriter
读数据:
读字节:
int read() 一个字节
int read(byte[] buffer) 一个字节数组
读字符
int read(); 一个字符
int read(char[] buffer) 一个字符数组
String readLine() 一行字符串(高效字符输入流中使用)
写数据:
写字节:
void write(int ch) 写入一个字节
void write(byte[] buffer) 写入一个字节数组
void write(byte[] buffer, int startIndex, int len) 写入字节数组的一部分
写字符:
void write(int ch) 写入一个字符
void write(char[] buffer) 写入一个字符数组
void write(char[] buffer, int startIndex, int len) 写入字符数组的一部分
void write(String str) 写入一个字符串
void write(String str, int startIndex, int len) 写入字符串的一部分
其他方法:
void flush() 刷新
void close() 关闭
void newLine()换行, 高效字符输出流特有方法
字符编码表:
编码表
由字符及其对应的数值组成的一张表
常见的编码表:
ASCII: 用7位来表示一个数据
ISO-8859-1: 在西欧使用,用8位来表示一个数据
GB2312: 简体中文, 使用2个字节来表示一个汉字
GBK: 简体中文
GB18030: 简体中文, 替代GBK
BIG5: 繁体中文, 台湾、香港 使用
Unicode: 国际码,统一码, 用2个字节表示一个数据, 在java中使用的码表就是Unicode
utf-8:国际码,统一码, 表示一个数据,所使用的字节数是变化的,使用1-4位字节来表示一个数据, 表示一个汉字使用3个字节
编码:把看懂的 转换成 看不懂的
解码:把看不懂的 转换成 看懂的
转换流OutputStreamWriter:
把基本的字节流,使用给定的编码表,进行数据的编码
转换流InputStreamReader:
把基本的字节流,使用给定的编码表,进行数据的解码
LineNumberReader: 带有行号的字符缓冲流
public int getLineNumber()获得当前行号。
public void setLineNumber(int lineNumber)设置当前行号。
流向分类:
输入流
输出流
类型分类:
字节流
字节输入流:
InputStream 字节输入流 超类
|- FileInputStream 基本的流
|- BufferedInputStream 高效的流
字节输出流:
OutputStream 字节输出流 超类
|- FileOutputStream 基本的流
|- BufferedOutputStream 高效的流
字符流
字符输入流:
Reader 字符输入流 超类
|- InputStreamReader 转换流 属于 字符输入流
|- FileReader 基本的流
|- BufferedReader 高效的流
字符输出流:
Writer 字符输出流 超类
|- OutputStreamWriter 转换流 属于 字符输出流
|- FileWriter 基本的流
|- BufferedWriter 高效的流
IO流中常见的方法:
如何实现文件中数据的追加?
构造方法中实现, 构造方法的第二个参数设置为true
FileOutputStream
FileWriter
读数据:
读字节:
int read() 一个字节
int read(byte[] buffer) 一个字节数组
读字符
int read(); 一个字符
int read(char[] buffer) 一个字符数组
String readLine() 一行字符串(高效字符输入流中使用)
写数据:
写字节:
void write(int ch) 写入一个字节
void write(byte[] buffer) 写入一个字节数组
void write(byte[] buffer, int startIndex, int len) 写入字节数组的一部分
写字符:
void write(int ch) 写入一个字符
void write(char[] buffer) 写入一个字符数组
void write(char[] buffer, int startIndex, int len) 写入字符数组的一部分
void write(String str) 写入一个字符串
void write(String str, int startIndex, int len) 写入字符串的一部分
其他方法:
void flush() 刷新
void close() 关闭
void newLine()换行, 高效字符输出流特有方法
字符编码表:
编码表
由字符及其对应的数值组成的一张表
常见的编码表:
ASCII: 用7位来表示一个数据
ISO-8859-1: 在西欧使用,用8位来表示一个数据
GB2312: 简体中文, 使用2个字节来表示一个汉字
GBK: 简体中文
GB18030: 简体中文, 替代GBK
BIG5: 繁体中文, 台湾、香港 使用
Unicode: 国际码,统一码, 用2个字节表示一个数据, 在java中使用的码表就是Unicode
utf-8:国际码,统一码, 表示一个数据,所使用的字节数是变化的,使用1-4位字节来表示一个数据, 表示一个汉字使用3个字节
编码:把看懂的 转换成 看不懂的
解码:把看不懂的 转换成 看懂的
转换流OutputStreamWriter:
把基本的字节流,使用给定的编码表,进行数据的编码
转换流InputStreamReader:
把基本的字节流,使用给定的编码表,进行数据的解码
LineNumberReader: 带有行号的字符缓冲流
public int getLineNumber()获得当前行号。
public void setLineNumber(int lineNumber)设置当前行号。
相关文章推荐
- 黑马程序员——java基础 io 流 (提高流的读写效率)BufferedReader,BufferedWriter
- 黑马程序员——JAVA基础——IO(一)---流概述,节点流、处理流、转换流与标准输入输出流、打印流、File文件对象、合并流
- 黑马程序员——java基础 io 转换流的应用(InputStreamReader,OutputStreamWriter)
- 黑马程序员——Java基础---IO(三)--IO包中的其他类
- 黑马程序员--Java基础--06输入与输出流IO
- 黑马程序员 Java基础 IO
- 黑马程序员——Java基础---IO(二)---对象流、管道流、RandomAccessFile、数据流、数组流、字符编码
- 黑马程序员————java基础---------IO输入输出之字节流
- 黑马程序员—Java基础—IO3
- 黑马程序员—Java基础—IO4
- 黑马程序员——Java基础--IO(一)
- 黑马程序员_java基础复习六之io
- 黑马程序员_Java基础_IO(2)
- 黑马程序员——Java基础--IO(二)
- 黑马程序员——Java基础---IO、File类、Properties类、打印流、序列流(合并流)
- 黑马程序员------Java基础(IO(三))
- 黑马程序员 java基础之IO总结
- 黑马程序员--Java基础之IO包中的其他一些类
- 黑马程序员—Java基础—IO1
- 黑马程序员————java基础---------IO字符流及综合练习题