> 什么是流(Stream),流就是一系列的數據
# 什么是流
當不同的介質之間有數據交互的時候,JAVA就使用流來實現。
數據源可以是文件,還可以是數據庫,網絡甚至是其他的程序
<br>
比如讀取文件的數據到程序中,站在程序的角度來看,就叫做輸入流
輸入流: InputStream
輸出流:OutputStream

# 文件輸入流
```
package com.dodoke.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class TestSteam {
public static void main(String[] args) {
File f = new File("d:/log.txt");
try {
// 創建基于文件的輸入流
FileInputStream fis = new FileInputStream(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
> 上述代碼,就建立了一個文件輸入流,這個流可以用來把數據從硬盤的文件,讀取到JVM(內存)。
目前代碼只是建立了流,還沒有開始讀取,真正的讀取在下個章節講解。
# 練習-流
參考文件輸入流的建立,建立一個文件輸出流
```
package com.dodoke.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class TestSteam2 {
public static void main(String[] args) {
File f = new File("d:/log.txt");
try {
// 創建基于文件的輸出流
FileOutputStream fis = new FileOutputStream(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
> 通過這個輸出流,就可以把數據從內存,輸出到硬盤的文件上