Skip to content

Commit abf6b7c

Browse files
authored
close a stream in debug methods (Esri#252)
1 parent 73a8be8 commit abf6b7c

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

src/main/java/com/esri/core/geometry/OperatorFactoryLocal.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.io.BufferedReader;
3030
import java.io.FileInputStream;
3131
import java.io.FileOutputStream;
32+
import java.io.IOException;
3233
import java.io.InputStreamReader;
3334
import java.io.PrintStream;
3435
import java.io.Reader;
@@ -182,20 +183,28 @@ public static MapGeometry loadGeometryFromJSONFileDbg(String file_name) {
182183
}
183184

184185
String jsonString = null;
186+
Reader reader = null;
185187
try {
186188
FileInputStream stream = new FileInputStream(file_name);
187-
Reader reader = new BufferedReader(new InputStreamReader(stream));
189+
reader = new BufferedReader(new InputStreamReader(stream));
188190
StringBuilder builder = new StringBuilder();
189191
char[] buffer = new char[8192];
190192
int read;
191193
while ((read = reader.read(buffer, 0, buffer.length)) > 0) {
192194
builder.append(buffer, 0, read);
193195
}
194-
stream.close();
195196

196197
jsonString = builder.toString();
197198
} catch (Exception ex) {
198199
}
200+
finally {
201+
if (reader != null) {
202+
try {
203+
reader.close();
204+
} catch (IOException e) {
205+
}
206+
}
207+
}
199208

200209
MapGeometry mapGeom = OperatorImportFromJson.local().execute(Geometry.Type.Unknown, jsonString);
201210
return mapGeom;
@@ -276,20 +285,28 @@ public static Geometry loadGeometryFromWKTFileDbg(String file_name) {
276285
}
277286

278287
String s = null;
288+
Reader reader = null;
279289
try {
280290
FileInputStream stream = new FileInputStream(file_name);
281-
Reader reader = new BufferedReader(new InputStreamReader(stream));
291+
reader = new BufferedReader(new InputStreamReader(stream));
282292
StringBuilder builder = new StringBuilder();
283293
char[] buffer = new char[8192];
284294
int read;
285295
while ((read = reader.read(buffer, 0, buffer.length)) > 0) {
286296
builder.append(buffer, 0, read);
287297
}
288-
stream.close();
289298

290299
s = builder.toString();
291300
} catch (Exception ex) {
292301
}
302+
finally {
303+
if (reader != null) {
304+
try {
305+
reader.close();
306+
} catch (IOException e) {
307+
}
308+
}
309+
}
293310

294311
return OperatorImportFromWkt.local().execute(0, Geometry.Type.Unknown, s, null);
295312
}

0 commit comments

Comments
 (0)