java.io.OutputStream & java.io.FileOutputStream
1、Java.io.OutputStream(字節輸出流)
字節輸出流,這是一個抽象類,是表示輸出字節流的所有類的超類。下面是該類的子類都共有的方法:
方法 | 作用 |
---|---|
public void close() | 關閉輸出流並釋放與此流相關的任何系統資源 |
public void flush() | 刷新輸出流,並強制任何緩沖的輸出字節被寫出 |
public void write(byte[] b) | 將b.length字節從指定的字節數組寫入此輸出流,內存寫到硬盤 |
public void write(byte[] b, int off, int len) | 從指定的b字節數組寫入len字節,從偏移量off開始輸出到此輸出流 |
public abstract void write(int b) | 將指定的字節輸出到流 |
2、java.io.FileOutputStream extends OutputStream
構造方法 | 作用 |
---|---|
FileOutputStream(String name) | 創建一個有指定名稱的文件,把FileOutputStream對象指向創建好的文件,如果文件已存在,則覆蓋 |
FileOutputStream(File file) | 創建一個有指定名稱的文件,把FileOutputStream對象指向創建好的文件,如果文件已存在,則覆蓋 |
FileOutputStream(String name, boolean append) | 創建一個有指定名稱的文件,把FileOutputStream對象指向創建好的文件,如果文件已存在,append為true則在原文件追加寫,否則創建新文件,覆蓋原文件 |
FileOutputStream(File file, boolean append) | 創建一個有指定名稱的文件,把FileOutputStream對象指向創建好的文件,如果文件已存在,append為true則在原文件追加寫,否則創建新文件,覆蓋原文件 |
參數:String name(寫入的目的地是一個文件的路徑)
File file(寫入數據的目的地是一個文件)
構造方法的作用:
- 創建一個FileOutputStream對象
- 根據構造方法傳遞的文件,文件路徑創建一個文件
- 將FileOutputStream對象指向創建好的文件
3、寫入數據的原理(內存 --> 硬盤文件)
java程序 --> JVM --> OS --> OS調用寫數據的方法 --> 把數據寫入到文件
4、字節輸出流的使用步驟
- 創建一個FileOutputStream對象,構造方法中傳遞文件路徑或者文件
- 調用FileOutputStream對象的方法write,把數據寫入到文件
- 使用完畢要清空內存,釋放資源
package cn.zhuobo.day14.streamOutput;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo01FileOutputStream {
public static void main(String[] args) throws IOException {
// 創建一個FileOutputStream對象,構造方法中傳遞文件路徑或者文件
FileOutputStream fos = new FileOutputStream("/home/zhuobo//Desktop/a.txt");
// 調用FileOutputStream對象的方法write,把數據寫入到文件,指定的字節97 是 a
fos.write(97);
// 釋放資源,close流
// fos.close();
byte[] bytes = {97, 98, 99, 100};// abcd
//fos.write(bytes);// aabbc
//fos.close();
fos.write(bytes, 1, 2);// bc
// 寫入字符串
String str = "hello";
byte[] bytes1 = str.getBytes();// 字符串轉化為字符數組再寫入
fos.write(bytes1);
fos.write("\n".getBytes());// 換行
fos.close();
}
}