持久設(shè)備中存儲數(shù)據(jù)都是以二進制的形式來存儲的,java為我們提供了字節(jié)流來以字節(jié)的方式讀取,或者以字節(jié)的方式向設(shè)備中寫數(shù)據(jù)。
inputstream:字節(jié)輸入流。outputstream:字節(jié)輸出流。
字節(jié)輸出流對象
查看api得知OutputStream類是字節(jié)輸出流的超類。它定義了字節(jié)輸出數(shù)據(jù)的基本功能。
使用java流對象操作持久設(shè)備上的數(shù)據(jù)就要讓java程序與持久設(shè)備建立連接通道。然后提供java中提供的流對象來寫數(shù)據(jù),操作完之后一定要斷開通道。
其中方法介紹:
close() 關(guān)閉Java程序和持久設(shè)備之間的連接
flush() 刷新,目的就是把Java程序中的數(shù)據(jù)刷到持久設(shè)備上。
write(byte[] b) 把b這個字節(jié)數(shù)組中的數(shù)據(jù)寫到指定的持久設(shè)備上。
write(byte[] b, int off, int len) 把b字節(jié)數(shù)組中的數(shù)據(jù),從off位置開始寫,共計寫出len個字節(jié)
write(int b) 調(diào)用一次這個方法,寫出一個字節(jié)數(shù)據(jù)。
通過查找api得知OutputStream類是一個抽象類,想完成輸出的一些功能可以使用它的子類FileOutputStream類
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fs = new FileOutputStream("e:/lishuais.java");
fs.write(88);
String s = "好好學(xué)習(xí),天天向上";
//使用字節(jié)流輸出字符串要將字符串轉(zhuǎn)化成字節(jié)類型的。
byte[] b = s.getBytes();
fs.write(b);
fs.close();
}
}
追加和換行功能:
由于每次創(chuàng)建同名的文件就會對舊文件覆蓋,這里在創(chuàng)建FileOutputStream后根據(jù)文件后的boolean值來決定是否進行追加。
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo {
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static void main(String[] args) throws IOException {
FileOutputStream fs = new FileOutputStream("e:/lishuais.java", true);
String s = "這是追加的數(shù)據(jù)" + LINE_SEPARATOR;
byte[] b = s.getBytes();
fs.write(b);
fs.close();
}
}