#區別分析如下:
(學習影片分享: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入門教學
以上是java中位元組流與字元流的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!