今天小編給大家分享的是java中字節流與字符流有什么區別,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。
區別分析如下:
字節(Byte)是進行io操作的基本數據單位,在程序進行字節數據輸出時可以使用OutputStream類完成
此類定義如下:
public abstract class OutputStream
extends Object
implements Cloneable Flushable{}在OutputStream類中實現了兩個父接口 Closeable Flushable
這兩個接口的定義分別如下
public interface Cloneable
extends AutoCloseable{
public void close() throws IOException;
}public interface Flushable{
public void flush() throws IOException;
}OutputStream定義了公共的字節輸出操作,由于其定義為一個抽象類,所以需要依靠子類進行對象實例化,如果需要通過程序向文件內容進行輸出 可以使用FileOutputStream子類
字符流的讀寫功能
/**
* 字符流寫功能
* @throws IOException
*/
public static void demo4() throws IOException {
Writer writer = new FileWriter("J:/demo2.txt",true);
writer.write(123);
writer.write("一二三");
writer.write(879);
writer.flush();
writer.close();
}
/**
* 字符流讀功能
* @throws IOException
*/
public static void demo5() throws IOException {
Reader reader = new FileReader("J:/demo2.txt");
System.out.println((char)reader.read());
System.out.println((char)reader.read());
int a = 0;
while((a=reader.read()) != -1) {
System.out.println((char)reader.read());
}
reader.close();
} 創建文件并寫入內容
/**
* 創建文件并寫入內容
*
* @throws IOException
*/
public static void demo1() throws IOException {
File file = new File("J:/demo.txt"); // 創建這個文件
OutputStream os = new FileOutputStream(file, true); // 創建流對象 最后加個true參數代表是續寫不是重寫,不寫true的話下一次運行這個方法就是清空內容并且重寫
os.write(10);// 添加內容
os.write(302);// 添加內容
os.write(11);// 添加內容
os.write("hello world".getBytes()); // 上面是添加數字類型, 這一行代表添加字符
os.close(); // 關閉流
}兩類操作流最大的區別就是在于字符流使用到了緩沖區(這樣更適合進行中文數據的操作,)而字節流是字節進行數據處理操作。
關于java中字節流與字符流有什么區別就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。