1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
* 操作commons-io 对流的进一步操作
* 字符流 Reader Writer
* 字节流 InputStream OutputStream
* 文件字节流
* FileInputStream FileOutputStream
* 文件字符流
* FileReader FileWriter
* 字符缓冲流(装饰者模式) 可以提高性能,套在节点流中,低层是节点流
* BufferedReader BufferedWriter
* 字节缓冲流(装饰者模式) 可以提高性能,套在节点流中,低层是节点流
* BufferedInputStream BufferedOutputStream
* 转换流 :是字节流通向字符流的桥梁
* InputStreamReader
* 对象流
* ObjectInputStream
* 数据流
* DataOutputStream
节点流
字节数组流
* ByteArrayInputStream 看成一块内存,任何东西都可以转换成该流
* ByteArrayOutputStream : 获取数据toByteArray() 创建一个新分配的 byte 数组。
* */
public class Demo01 {

public static void main(String[] args) throws IOException {

File file = new File("test.txt");
// //commons-io 复制图片
// FileUtils.copyFile(new File("test.jpg"),new File("test1.jpg"),true);
//读取到字节数组
byte[] bytes = FileUtils.readFileToByteArray(file);
System.out.println(new String(bytes));
//逐行读取
String s = FileUtils.readFileToString(file);
System.out.println(s);
String s1 = FileUtils.readFileToString(file, "UTF-8");
System.out.println(s1);
List readLines = FileUtils.readLines(file);

for (Object l:readLines
) {
System.out.println("-----"+l);
}
//写出到文件
//写出到列表
List<Object> objects = new ArrayList<Object>();
objects.add(1);
objects.add("上海");
objects.add("北京");
FileUtils.writeLines(new File("test1.txt"),objects);
FileUtils.writeStringToFile(new File("test1.txt"),"什么时候我才能技术达到最佳");
//操作字节数组
FileUtils.writeByteArrayToFile(new File("test1.txt"),"我想一个人成长".getBytes());
}
}