@@ -4276,12 +4276,28 @@ public JSONObject parseJSONObject(String input) {
4276
4276
* @see PApplet#saveJSONArray(JSONArray, String)
4277
4277
*/
4278
4278
public JSONObject loadJSONObject (String filename ) {
4279
- return new JSONObject (createReader (filename ));
4279
+ // can't pass of createReader() to the constructor b/c of resource leak
4280
+ BufferedReader reader = createReader (filename );
4281
+ JSONObject outgoing = new JSONObject (reader );
4282
+ try {
4283
+ reader .close ();
4284
+ } catch (IOException e ) { // not sure what would cause this
4285
+ e .printStackTrace ();
4286
+ }
4287
+ return outgoing ;
4280
4288
}
4281
4289
4282
4290
4283
4291
static public JSONObject loadJSONObject (File file ) {
4284
- return new JSONObject (createReader (file ));
4292
+ // can't pass of createReader() to the constructor b/c of resource leak
4293
+ BufferedReader reader = createReader (file );
4294
+ JSONObject outgoing = new JSONObject (reader );
4295
+ try {
4296
+ reader .close ();
4297
+ } catch (IOException e ) { // not sure what would cause this
4298
+ e .printStackTrace ();
4299
+ }
4300
+ return outgoing ;
4285
4301
}
4286
4302
4287
4303
@@ -4327,12 +4343,28 @@ public JSONArray parseJSONArray(String input) {
4327
4343
* @see PApplet#saveJSONArray(JSONArray, String)
4328
4344
*/
4329
4345
public JSONArray loadJSONArray (String filename ) {
4330
- return new JSONArray (createReader (filename ));
4346
+ // can't pass of createReader() to the constructor b/c of resource leak
4347
+ BufferedReader reader = createReader (filename );
4348
+ JSONArray outgoing = new JSONArray (reader );
4349
+ try {
4350
+ reader .close ();
4351
+ } catch (IOException e ) { // not sure what would cause this
4352
+ e .printStackTrace ();
4353
+ }
4354
+ return outgoing ;
4331
4355
}
4332
4356
4333
4357
4334
4358
static public JSONArray loadJSONArray (File file ) {
4335
- return new JSONArray (createReader (file ));
4359
+ // can't pass of createReader() to the constructor b/c of resource leak
4360
+ BufferedReader reader = createReader (file );
4361
+ JSONArray outgoing = new JSONArray (reader );
4362
+ try {
4363
+ reader .close ();
4364
+ } catch (IOException e ) { // not sure what would cause this
4365
+ e .printStackTrace ();
4366
+ }
4367
+ return outgoing ;
4336
4368
}
4337
4369
4338
4370
0 commit comments