IO流分类:
文本文件 字符 字符流
其他字节码文件 字节流
O:out 输出 write
OutputStream : 字节输出流抽象父类
|--FileOutputStream 可以操作文件的 将程序中的数据写到文件File中
构造: FileOutputStream(File file)
FileOutputStream(String pathname) 如果文件不存在可以帮忙创建出来
写数据:
write重载
写单个字节 一个字节一个字节
写字节数组
写字节数组一部分
关闭流:
close()
I:in 输入 读 read
InputStream : 字节输入流抽象父类
|--FileInputStream 可以操作文件的 字节输入流 将文件中的数据读取到内存中
构造: FileInputStream(File file)
FileInputStream(String pathname)
读数据
int read() 读取一个字节 返回值是 那个字节 只不过用int接收
如果读到了末尾,返回-1
int read(byte[] bys) 按照一个字节数组的量去读取,返回值是读取到字节的个数,
如果读到末尾,返回-1
byte[] 0, length
还有一个方法可以读取字节数组的一部分
关闭流:
close();
字符流:
常见编码表(现在作为了解)
常用的编码表 GBK UTF-8 拉丁码表(不能识别中文)
GBK:英文占一个字节 中文占两个 \r \n
UTF-8:能用一个字节的就用一个 中文占3个
Reader 字符输入流的抽象父类
|--FileReader 操作文件的字符输入流
构造 FileReader(File file)
FileReader(String pathname)
读取:
int read() 一个字符一个字符读取 返回值是读到的字符 还是用int来接收
如果读不到 返回-1
int read(char[] chs) 使用字符数组读取 将读取到的字符放在数组中,返回值就是读到的字符个数
可以读取字符数组的一部分
关闭流
close()
Writer 字符输出流的抽象父类
|--FileWriter 操作文件的字符输出流
构造 FileWriter(File file)
FileWriter(String pathname)
写
write重载 写单个字符
写字符数组
写字符串
写字符数组一部分
写字符串一部分
关闭流:
close() 先刷新再关闭流
flush() 将数据刷新到文件中
读文件 写文件
1:创建对应的流
2:做对应的操作
3:关闭流
复制文件:
1:创建输入流 跟 数据源文件关联
2:创建输出流 跟 目标文件冠梁
3:从数据源中读数据
4:往目标文件写数据
5:关闭流 |
|