您好,登錄后才能下訂單哦!
java中的io流是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
java中什么是io流
流是一種抽象概念,它代表了數據的無結構化傳遞。按照流的方式進行輸入輸出,數據被當成無結構的字節序或字符序列。從流中取得數據的操作稱為提取操作,而向流中添加數據的操作稱為插入操作。用來進行輸入輸出操作的流就稱為IO流。換句話說,IO流就是以流的方式進行輸入輸出。
java IO流主要是用作數據傳輸,根據數據傳輸特性將流抽象為各種類,方便更直觀的進行數據操作。
Java I/O主要包括如下幾個層次,包含三個部分:
1.流式部分-IO的主體部分;
2.非流式部分-主要包含一些輔助流式部分的類,如:File類、RandomAccessFile類和FileDescriptor等類;
3.其他類-文件讀取部分的與安全相關的類,如:SerializablePermission類,以及與本地操作系統相關的文件系統的類,如:FileSystem類和Win32FileSystem類和WinNTFileSystem類。
主要的類如下:
1. File(文件特征與管理):用于文件或者目錄的描述信息,例如生成新目錄,修改文件名,刪除文件,判斷文件所在路徑等。
2. InputStream(二進制格式操作):抽象類,基于字節的輸入操作,是所有輸入流的父類。定義了所有輸入流都具有的共同特征。
3. OutputStream(二進制格式操作):抽象類。基于字節的輸出操作。是所有輸出流的父類。定義了所有輸出流都具有的共同特征。
4.Reader(文件格式操作):抽象類,基于字符的輸入操作。
5. Writer(文件格式操作):抽象類,基于字符的輸出操作。
6. RandomAccessFile(隨機文件操作):一個獨立的類,直接繼承至Object.它的功能豐富,可以從文件的任意位置進行存取(輸入輸出)操作。
IO流的分類:
a) 根據處理數據類型的不同分為:字符流和字節流;
b) 根據數據流向不同分為:輸入流和輸出流。
c) 按數據來源(去向)分類:
1、File(文件): FileInputStream, FileOutputStream, FileReader, FileWriter
2、byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、Char[]: CharArrayReader,CharArrayWriter
4、String:StringBufferInputStream, StringReader, StringWriter
5、網絡數據流:InputStream,OutputStream, Reader, Writer
打個比方:
比如你家的水龍頭的管道就是一個流:流又分為輸入輸出流,輸入流就是你家水龍頭抽水庫水的那頭(FileInputStream:將水抽到管道里面),輸出流就是你家水龍頭流到你家大水缸的那頭(FileOutputStream:將水流到缸里)。
現在有個A.txt文件,你要讀取里面的信息,就相當于水龍頭抽水庫水到管道(FileInputStream),然后讀取完后寫入到另一個文件里面(FileOutputStream),就是相當于水龍頭將抽到水后流到大水缸。很簡單吧,就是一進一出的事,沒這么復雜。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。