您好,登錄后才能下訂單哦!
今天小編給大家分享的是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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。