流
## 字节流
* 将文字图片音频等文件 转成字节 进行数据传输
*
*
* 输入流
* 输出流
*
* 参照物(程序)
*
* 程序 —-> 文件 输出流 写文件
* 文件 —-> 程序 输出流 读文件
*
*
*
* 所有字节流的父类
* OutputStream 输出流
* InputStream 输入流
1.//创建一个字节输出流 写文件
//创建流 绑定写入文件的路径
//写入时 系统会帮你创建出文件
FileOutputStream fos = new FileOutputStream(“/Users/lanou/Desktop/Test/gorilla.txt”);
//写入方法
//该方法是按ASCII码写入文件
fos.write(48);
fos.write(50);
fos.write(60);
//利用字节数组写入
byte[] b = {66,67,68,69};
fos.write(b);
//"wanglong" 转成 字节数组写
fos.write("wanglong".getBytes());
//关闭资源
fos.close();
2.//读取文件
FileInputStream fis = new FileInputStream(“/Users/lanou/Desktop/Test/gorilla.txt”);
//读取
//一个字节一个字节读取 按照ASCII码读取
int num = fis.read();
System.out.println((char)num);
num = fis.read();
System.out.println((char)num);
num = fis.read();
System.out.println((char)num);
num = fis.read();
System.out.println((char)num);
num = fis.read();
System.out.println((char)num);
//当文件读取完毕时,返回-1
//关闭资源
fis.close();
3.//读取文件
FileInputStream fis = new FileInputStream("/Users/lanou/Desktop/Test/gorilla.txt"); //利用字节数组读取 //实际上把读取的内容放入了数组中 //fis.read(b) 方法返回值 是读取到有效字节数 //读完文件 返回-1 //一般填1024或者1024的整数倍 byte[] b = new byte[2]; int num = fis.read(b); System.out.println(num);
4.//读取文件
FileInputStream fis = new FileInputStream(“/Users/lanou/Desktop/Test/gorilla.txt”);
//利用数组 循环读取
byte[] b = new byte[1024];
//接收有效长度
int len = 0;
while ((len = fis.read(b)) != -1) {
//使用字符串的构造方法打印
System.out.println(new String(b,0,len));
}
fis.close();
字符流(读写文档)
- Writer
- Reader
(抽象类 所有字符流的父类)
FileWriter
- FileReader
1.//创建字符输出流
FileWriter fw = new FileWriter(“/Users/lanou/Desktop/Test/wl.txt”);
//写入文件
fw.write(65);
//刷新(会将内容 写入文件中)
fw.flush();
//字符数组写入
char[] c = {'6','8'};
fw.write(c);
fw.flush();
//字符串直接写入
//mac 换行 \n
//win 换行 /r/n
fw.write("鹅鹅鹅\n曲项向天歌");
fw.flush();
//关闭资源
//关闭前 系统会自动刷新
fw.close();
2.//创建字符输入流
FileReader fr = new FileReader(“/Users/lanou/Desktop/Test/wl.txt”);
//读取文件
//单个读取
// int num = 0;
//
// while ((num = fr.read()) != -1) {
// System.out.print((char)num);
// }
// fr.close();
//数组读取
char[] b = new char[1024];
int len = 0;
while ((len = fr.read(b)) != -1) {
System.out.println(new String(b,0,len));
}