天天看點

FileInputStream與BufferedInputStream、FileInputStream與FileReader差別

FileInputStream與BufferedInputStream差別:

FileInputStream是位元組流,BufferedInputStream是位元組緩沖流,使用BufferedInputStream讀資源比FileInputStream讀取資源的效率高(BufferedInputStream的read方法會讀取盡可能多的位元組),且FileInputStream對象的read方法會出現阻塞;

FileInputStream與FileReader差別:

FileInputStream是位元組流,FileReader是字元流,用位元組流讀取中文的時候,可能會出現亂碼,而用字元流則不會出現亂碼,而且用字元流讀取的速度比位元組流要快;

ObjectOutputStream與ByteArrayOutputStream的差別:

ObjectOutputStream可以将java對象寫入outputstream流中(序列化),然後進行持久化,此對象必須是實作了java.io.Serializable 接口;

ByteArrayOutputStream是将資料寫入byte數組中;