2011-11-03 41 views
1

我創建文件輸入流/通過以下API從隨機 訪問文件魚貫而出流:隨機存取文件上的輸入/輸出流,關閉傳播?

RandomAccessFile.getFD(); 
FileInputStream(FileDescriptor) 
FileOutputStream(FileDescriptor) 

當我關閉文件輸入流/魚貫而出流,將 隨機訪問文件也可以關閉?

再見

+0

您是否考慮過使用[頻道](http://download.oracle.com/javase/1.4.2/docs/api/java/io/RandomAccessFile.html#getChannel%28%29)? - 使用文件描述符似乎有點「不尋常」給我... – JimmyB

+1

我沒有找到基於頻道的文件輸入流/文件輸出流的構造函數。我需要得到一些實現輸入流和輸出流的對象。這可以通過頻道完成嗎? –

+0

從RAF獲取通道,然後使用java.nio.channel.Channels的方法。 – EJP

回答

0

是的。 FileInputStream.close()方法關閉支持連接的所有通道。

基於Java FIS API;

http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html#close%28%29

注意:您正在使用FileDescriptor的,而不是一個通道。

+0

所以當你說'是'時,你的意思是'不'。你的第二句話不是他所問的。 – EJP

+0

如果我查看http://download.oracle.com/javase/7/docs/api/java/io/class-use/FileDescriptor.html,我沒有看到可以從文件描述符獲取通道。 FileInputStream和FileOutputStream是文件描述符還是通道的保護傘,或者是文件描述符還是通道?它將如何回答隨機訪問文件發生的情況? –