Skip to content

Commit fe22b24

Browse files
authored
Merge pull request #733 from haribabu-dev/jsontokener_closable
JSONTokener implemented java.io.Closeable
2 parents 45bcba5 + 7eca507 commit fe22b24

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

src/main/java/org/json/JSONTokener.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
package org.json;
22

3-
import java.io.BufferedReader;
4-
import java.io.IOException;
5-
import java.io.InputStream;
6-
import java.io.InputStreamReader;
7-
import java.io.Reader;
8-
import java.io.StringReader;
3+
import java.io.*;
94

105
/*
116
Public Domain.
@@ -522,4 +517,10 @@ public String toString() {
522517
return " at " + this.index + " [character " + this.character + " line " +
523518
this.line + "]";
524519
}
520+
521+
public void close() throws IOException {
522+
if(reader!=null){
523+
reader.close();
524+
}
525+
}
525526
}

src/test/java/org/json/junit/JSONTokenerTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,4 +313,16 @@ public void testNextBackComboWithNewLines() {
313313
assertEquals(0, t2.next());
314314
assertFalse(t2.more());
315315
}
316+
317+
@Test
318+
public void testAutoClose(){
319+
Reader reader = new StringReader("some test string");
320+
try {
321+
JSONTokener tokener = new JSONTokener(reader);
322+
tokener.close();
323+
tokener.next();
324+
} catch (Exception exception){
325+
assertEquals("Stream closed", exception.getMessage());
326+
}
327+
}
316328
}

0 commit comments

Comments
 (0)