我在Java中搜索了一些東西來讀取文件。我發現FileInputStream
和DataInputStream
,但我想知道這個流的內部工作。有人能夠清楚地解釋我們的工作方式嗎?FileInputStream的內部工作
回答
對於每個系統(Linux,Mac,Windows,甚至它們的不同版本),它的工作方式都不相同。這真是太棒了。你不需要知道,你只知道它被處理。你可以在每個系統上使用它。
如果你真的想知道它是如何工作的,你必須查看你正在工作的系統的jvm實現的源代碼。
,從FileInputStream中源:
private native void open(String name) throws FileNotFoundException;
public native int read() throws IOException;
private native int readBytes(byte b[], int off, int len) throws IOException;
這表明它是寫爲每個系統不同。但是,當你想使用它時,無論你使用什麼系統,都可以使用相同的代碼。
要獲得關於兩者之間差異的明確答案(至少從嚴格的Java觀點來看),請查看Java API(http://www.oracle.com/technetwork/java/api- 141528.html)規範了您正在使用的Java版本。在JavaSE 1.6的情況下,請查看FileInputStream和DataInputStream。
據我所知,DataInputStream對於使用輸入的數據流是很有用的,而FileInputStream用於訪問程序外部的文件(例如在文件系統上)。
FileInputStream
是一個以字節流的形式讀取文件的類。
DataInputStream
是一個類,讀取另一個流並應用轉換爲標準的類型(即,而不是讀取字節,你可以告訴它讀取4個字節的int
)。
他們服務兩個完全不同的目的。
以及我正在嘗試閱讀文件,然後我搜索了兩種方法來做到這一點: - FileInputStream fis = new FileInputStream(「C:/Users/pranay/Desktop/pranay.txt」); \t \t DataInputStream dis = new DataInputStream(fis); \t \t BufferedReader br = new BufferedReader(new InputStreamReader(dis)); \t \t或 \t \t BufferedReader br = new BufferedReader(new FileReader(「C:/Users/pranay/Desktop/pranay.txt」)); – 2011-04-18 00:31:49
- 1. Jenkins內部工作
- 2. JSF 1.2的內部工作
- 3. Fabric Composer的內部工作
- 4. 表內表不工作的內部表
- 5. 承諾內部工作
- 6. jquery插件內部工作
- 7. 內部加入不工作
- 8. $ http.delete不工作內部foreach
- 9. PHP ArrayObject內部工作
- 10. 增加由Java FileInputStream使用的內部緩衝區大小
- 11. 關於併發hashmap的內部工作
- 12. 簡單的內部連接不工作
- 13. recv socket api的內部工作
- 14. C++圖形庫的內部工作
- 15. xcode4建築的內部工作流程
- 16. Drupal模塊內部工作的隱喻
- 17. grep的內部shell腳本不工作
- 18. PHP的內部工作原理
- 19. Java集合框架的內部工作
- 20. 工作燈:定製內部的Webservice WAR
- 21. 如何調試Rails的內部工作?
- 22. JSONP與AJAX的內部工作
- 23. spark的HiveContext如何在內部工作?
- 24. 理解的ThreadPoolExecutor內部工作
- 25. OpenGL的內部工作原理
- 26. 在C++中的矢量內部工作?
- 27. JavaScript Array.sort([compareFunc])的內部工作方式;
- 28. FileInputStream類的方法read(byte [] b)如何工作?
- 29. jQuery的:使用這個內部類的內部功能,工作作爲處理
- 30. FileInputStream java.io.FileNotFoundException
您可以隨時在Java源代碼中閱讀它們的實現,至少在您調用本地方法調用之前。 – 2011-04-17 22:41:30
你到底想知道他們是如何工作的? – squawknull 2011-04-17 22:42:06