Java相当于C#'using'语句

时间:2010-07-21 00:32:25

标签: c# java file exception using

  

可能重复:
  “using” keyword in java

我正在从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阻止? “使用”是我认为的更好......

2 个答案:

答案 0 :(得分:22)

使用Java 5或6中的语句没有等效的语法糖。但是,proposal用于自动资源管理,它为Java 7添加了一个熟悉的Disposable接口seems to have been accepted。在那之前,你必须手动编写一个try ... finally。

答案 1 :(得分:2)

必须使用尝试..终于

P.S。 foreach(对集合进行迭代)不是C#

的发明