2010-07-21 38 views
15

可能重複:
「using」 keyword in java相當於Java的C# '使用' 的語句

我從C#轉換到Java,所以請多多包涵......

在C#中讀取文件時,只需將其全部包裝在一個大的「使用」塊中,這樣如果有異常,該文件仍將被關閉。像這樣(也許不準確,但你的想法):

using(FileStream fs = new FileStream("c:\\myfile.txt")) { 
    // Any exceptions while reading the file here won't leave the file open 
} 

有沒有在Java 5或6方便的相同呢?我得到的印象是,最近java已經從c#中「借用」了一些語法糖(比如foreach),所以我不會感到驚訝,如果有這樣的Java使用這些日子。

或者我只需要使用try..finally塊? 「使用」就是這麼好得多,我認爲......

+5

如果您聲稱某個問題是重複的,那麼如果您提供了它應該複製的問題的鏈接,將會有所幫助。只是標記爲重複的東西根本沒有幫助,並且使得這個網站的用處不大。 這個問題是你爲什麼必須提供一個鏈接的一個很好的例子:當我點擊「使用」標籤時,我得到568次點擊 - 幾乎不可能在這麼長的列表中找到原始答案。如果我搜索[使用] [java],我仍然會得到24個匹配,我正在尋找的答案是在結果列表的第二*頁: http://stackoverflow.com/questions/2943542/using- keyword-in-java – 2013-03-21 09:41:44

回答

22

的發明有使用語句在Java 5或6。然而,一個proposal沒有等效語法糖用於自動資源管理增加了一個熟悉的一次性接口seems to have been accepted針對Java 7。在那之前,你必須手動編寫一個try ...最後。

2

不得不使用嘗試..終於

附:的foreach(迭代一個集合)不是C#

+11

但是'foreach'只是語法上的糖,就像'使用'一樣,這是OP的要點。 – 2010-07-21 00:56:43