您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java IO常見面試題有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java IO常見面試題有哪些”這篇文章吧。
1. 什么是IO流?
它是一種數據的流從源頭流到目的地。比如文件拷貝,輸入流和輸出流都包括了。輸入流從文件中讀取數據存儲到進程(process)中,輸出流從進程中讀取數據然后寫入到目標文件。
2. 字節流和字符流的區別。
字節流在JDK1.0中就被引進了,用于操作包含ASCII字符的文件。JAVA也支持其他的字符如Unicode,為了讀取包含Unicode字符的文件,JAVA語言設計者在JDK1.1中引入了字符流。ASCII作為Unicode的子集,對于英語字符的文件,可以可以使用字節流也可以使用字符流。
3.Java中流類的超類主要由那些?
java.io.InputStream
java.io.OutputStream
java.io.Reader
java.io.Writer
4. FileInputStream和FileOutputStream是什么?
這是在拷貝文件操作的時候,經常用到的兩個類。在處理小文件的時候,它們性能表現還不錯,在大文件的時候,最好使用BufferedInputStream (或 BufferedReader) 和 BufferedOutputStream (或 BufferedWriter)
5. 字節流和字符流,你更喜歡使用拿一個?
個人來說,更喜歡使用字符流,因為他們更新一些。許多在字符流中存在的特性,字節流中不存在。比如使用BufferedReader而不是BufferedInputStreams或DataInputStream,使用newLine()方法來讀取下一行,但是在字節流中我們需要做額外的操作。
6.System.out.println()
是什么?
println
是PrintStream的一個方法。out
是一個靜態PrintStream類型的成員變量,System
是一個java.lang包中的類,用于和底層的操作系統進行交互。
7.什么是Filter流?
Filter Stream是一種IO流主要作用是用來對存在的流增加一些額外的功能,像給目標文件增加源文件中不存在的行數,或者增加拷貝的性能。
8. 有哪些可用的Filter流?
在java.io包中主要由4個可用的filter Stream。兩個字節filter stream,兩個字符filter stream. 分別是FilterInputStream, FilterOutputStream, FilterReader and FilterWriter.這些類是抽象類,不能被實例化的。
有些Filter流的子類:
LineNumberInputStream 給目標文件增加行號
DataInputStream 有些特殊的方法如readInt()
, readDouble()
和readLine()
等可以讀取一個 int, double和一個string一次性的,
BufferedInputStream 增加性能
PushbackInputStream 推送要求的字節到系統中
9.SequenceInputStream的作用?
這個類的作用是將多個輸入流合并成一個輸入流,通過SequenceInputStream類包裝后形成新的一個總的輸入流。在拷貝多個文件到一個目標文件的時候是非常有用的。可用使用很少的代碼實現
10.說說PrintStream和PrintWriter
他們兩個的功能相同,但是屬于不同的分類。字節流和字符流。他們都有println()方法。
11. 在文件拷貝的時候,那一種流可用提升更多的性能?
在字節流的時候,使用BufferedInputStream和BufferedOutputStream。
在字符流的時候,使用BufferedReader 和 BufferedWriter
12 .說說管道流(Piped Stream)
有四種管道流, PipedInputStream, PipedOutputStream, PipedReader 和 PipedWriter.在多個線程或進程中傳遞數據的時候管道流非常有用。
13.說說File類
它不屬于 IO流,也不是用于文件操作的,它主要用于知道一個文件的屬性,讀寫權限,大小等信息。注意:Java7中文件IO發生了很大的變化,專門引入了很多新的類來取代原來的基于java.io.File的文件IO操作方式。詳情閱讀下面的文章:
14. 說說RandomAccessFile?
它在java.io包中是一個特殊的類,既不是輸入流也不是輸出流,它兩者都可以做到。他是Object的直接子類。通常來說,一個流只有一個功能,要么讀,要么寫。但是RandomAccessFile既可以讀文件,也可以寫文件。 DataInputStream 和 DataOutStream有的方法,在RandomAccessFile中都存在。
以上是“Java IO常見面試題有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。