2003-06-24 Michael Koch <konqueror@gmx.de>
* java/io/LineNumberReader.java (skip): Dont do line number accounting here as this is already done in read(), simplified. From-SVN: r68408
This commit is contained in:
parent
d1a2c4d688
commit
20afd47571
@ -1,3 +1,9 @@
|
||||
2003-06-24 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* java/io/LineNumberReader.java
|
||||
(skip): Dont do line number accounting here as this is already done in
|
||||
read(), simplified.
|
||||
|
||||
2003-06-21 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* java/io/File.java
|
||||
|
@ -374,37 +374,22 @@ public class LineNumberReader extends BufferedReader
|
||||
*
|
||||
* @exception IOException If an error occurs
|
||||
*/
|
||||
public long skip(long count) throws IOException
|
||||
public long skip (long count) throws IOException
|
||||
{
|
||||
if (count <= 0)
|
||||
return 0;
|
||||
long to_do = count;
|
||||
do
|
||||
|
||||
int skipped;
|
||||
|
||||
for (skipped = 0; skipped < count; skipped++)
|
||||
{
|
||||
int ch = read();
|
||||
if (ch < 0)
|
||||
break;
|
||||
to_do--;
|
||||
if (ch == '\n' || ch == '\r')
|
||||
lineNumber++;
|
||||
else
|
||||
{
|
||||
long fence = pos + to_do;
|
||||
if (limit < fence)
|
||||
fence = limit;
|
||||
int end = pos;
|
||||
for (; end < fence; end++)
|
||||
{
|
||||
char endch = buffer[end];
|
||||
if (endch == '\n' || endch == '\r')
|
||||
break;
|
||||
}
|
||||
to_do -= end - pos;
|
||||
pos = end;
|
||||
}
|
||||
int ch = read();
|
||||
|
||||
if (ch < 0)
|
||||
break;
|
||||
}
|
||||
while (to_do > 0);
|
||||
return count - to_do;
|
||||
|
||||
return skipped;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user