Modified:
trunk/jgogears/jgogears/SGFGameTree.java
Log:
Tidy up after Readers, to release resources faster
Modified: trunk/jgogears/jgogears/SGFGameTree.java
==============================================================================
--- trunk/jgogears/jgogears/SGFGameTree.java (original)
+++ trunk/jgogears/jgogears/SGFGameTree.java Mon Mar 10 12:05:09 2008
@@ -18,26 +18,34 @@
* @return the game
*/
public static Game loadFromFile(File file) {
+ Reader reader = null;
try {
// speed up file reading. BufferedReader doesn't help
- Reader reader = new FileReader(file);
+ reader = new FileReader(file);
jgogears.SGF.SGF parser = new jgogears.SGF.SGF(reader);
SGFGameTree tree = parser.gameTree();
Game result = new Game(tree);
+ reader.close();
return result;
} catch (IOException e) {
System.err.println(e);
e.printStackTrace();
- return null;
} catch (ParseException e) {
System.err.println(e);
e.printStackTrace();
- return null;
} catch (Throwable e) {
System.err.println(e);
e.printStackTrace();
- return null;
+ } finally {
+ try {
+ if (reader != null)
+ reader.close();
+ } catch (IOException e) {
+ System.err.println(e);
+ e.printStackTrace();
+ }
}
+ return null;
}
/** The sequence. */