home *** CD-ROM | disk | FTP | other *** search
- package java.io;
-
- public class LineNumberReader extends BufferedReader {
- private int lineNumber;
- private int markedLineNumber;
- private boolean skipLF;
- private static final int maxSkipBufferSize = 8192;
- private char[] skipBuffer;
-
- public LineNumberReader(Reader var1) {
- super(var1);
- }
-
- public LineNumberReader(Reader var1, int var2) {
- super(var1, var2);
- }
-
- public void setLineNumber(int var1) {
- this.lineNumber = var1;
- }
-
- public int getLineNumber() {
- return this.lineNumber;
- }
-
- public int read() throws IOException {
- Object var2 = super.lock;
- synchronized(var2){}
-
- int var1;
- try {
- int var4 = super.read();
- if (this.skipLF) {
- if (var4 == 10) {
- var4 = super.read();
- }
-
- this.skipLF = false;
- }
-
- switch (var4) {
- case 10:
- break;
- case 13:
- this.skipLF = true;
- break;
- default:
- var1 = var4;
- return var1;
- }
-
- ++this.lineNumber;
- var1 = 10;
- } catch (Throwable var6) {
- throw var6;
- }
-
- return var1;
- }
-
- public int read(char[] var1, int var2, int var3) throws IOException {
- Object var5 = super.lock;
- synchronized(var5){}
-
- int var4;
- try {
- int var7 = super.read(var1, var2, var3);
-
- for(int var8 = var2; var8 < var2 + var3; ++var8) {
- char var9 = var1[var8];
- if (this.skipLF) {
- this.skipLF = false;
- if (var9 == '\n') {
- continue;
- }
- }
-
- switch (var9) {
- case '\r':
- this.skipLF = true;
- case '\n':
- ++this.lineNumber;
- }
- }
-
- var4 = var7;
- } catch (Throwable var11) {
- throw var11;
- }
-
- return var4;
- }
-
- public String readLine() throws IOException {
- Object var2 = super.lock;
- synchronized(var2){}
-
- String var1;
- try {
- String var4 = super.readLine();
- if (var4 != null) {
- ++this.lineNumber;
- }
-
- this.skipLF = false;
- var1 = var4;
- } catch (Throwable var6) {
- throw var6;
- }
-
- return var1;
- }
-
- public long skip(long var1) throws IOException {
- int var3 = (int)Math.min(var1, 8192L);
- Object var6 = super.lock;
- synchronized(var6){}
-
- long var4;
- try {
- if (this.skipBuffer == null || this.skipBuffer.length < var3) {
- this.skipBuffer = new char[var3];
- }
-
- long var8;
- int var10;
- for(var8 = var1; var8 > 0L; var8 -= (long)var10) {
- var10 = this.read(this.skipBuffer, 0, var3);
- if (var10 == -1) {
- break;
- }
- }
-
- var4 = var1 - var8;
- } catch (Throwable var12) {
- throw var12;
- }
-
- return var4;
- }
-
- public void mark(int var1) throws IOException {
- Object var2 = super.lock;
- synchronized(var2){}
-
- try {
- super.mark(var1);
- this.markedLineNumber = this.lineNumber;
- } catch (Throwable var4) {
- throw var4;
- }
-
- }
-
- public void reset() throws IOException {
- Object var1 = super.lock;
- synchronized(var1){}
-
- try {
- super.reset();
- this.lineNumber = this.markedLineNumber;
- } catch (Throwable var3) {
- throw var3;
- }
-
- }
- }
-