b*********n 发帖数: 1258 | 1 请问
java 里可以直接去读 txt file 里指定的第 n 行
而不经过读入前 n-1 行吗?
谢谢 |
s******n 发帖数: 876 | 2 no...
【在 b*********n 的大作中提到】 : 请问 : java 里可以直接去读 txt file 里指定的第 n 行 : 而不经过读入前 n-1 行吗? : 谢谢
|
S********a 发帖数: 1163 | 3 no way. u might be able to skip, but java still needs to read to skip
【在 b*********n 的大作中提到】 : 请问 : java 里可以直接去读 txt file 里指定的第 n 行 : 而不经过读入前 n-1 行吗? : 谢谢
|
g*****g 发帖数: 34805 | 4 There's no line concept in a file. Line is
determined by line separator. So you have to read
every character to know if this is a new line.
You can't do this in any language.
You can however, skip certain bytes without reading.
【在 b*********n 的大作中提到】 : 请问 : java 里可以直接去读 txt file 里指定的第 n 行 : 而不经过读入前 n-1 行吗? : 谢谢
|
A**o 发帖数: 1550 | 5 不可以跳过,但是可以用buffer reader去读。
【在 b*********n 的大作中提到】 : 请问 : java 里可以直接去读 txt file 里指定的第 n 行 : 而不经过读入前 n-1 行吗? : 谢谢
|
b*********n 发帖数: 1258 | 6 Thanks.
So which means, without knowing how many bytes are ahead of the n line,
there's no way for you to directly read the n line?
one more question,
let's say if I know there are m bytes ahead of the n line,
and try to skip,
does that mean the time consumed in reading the previous m bytes can be
skipped as well?
Thanks!
【在 g*****g 的大作中提到】 : There's no line concept in a file. Line is : determined by line separator. So you have to read : every character to know if this is a new line. : You can't do this in any language. : You can however, skip certain bytes without reading.
|
t***e 发帖数: 3601 | 7 Try randomaccessfile. but again, you don't know where is the line untill you
read it. |
g*****g 发帖数: 34805 | 8
right
yes
【在 b*********n 的大作中提到】 : Thanks. : So which means, without knowing how many bytes are ahead of the n line, : there's no way for you to directly read the n line? : one more question, : let's say if I know there are m bytes ahead of the n line, : and try to skip, : does that mean the time consumed in reading the previous m bytes can be : skipped as well? : Thanks!
|
w*****d 发帖数: 2415 | 9 Java handles input/output using (Data/Object)Input/OutPutStream. So thinks
about I/O as bit stream, Java has to read from the beginning to determine
the content, remember, text files' lines are separated by line separator and
there is no way for Java to know which is the nth line until it reads in
bit by bit.
From the implementation point of view, unless the length of each line is
fixed or header information containing each line's location is stored (plain
text file doesn't have header though),
【在 b*********n 的大作中提到】 : Thanks. : So which means, without knowing how many bytes are ahead of the n line, : there's no way for you to directly read the n line? : one more question, : let's say if I know there are m bytes ahead of the n line, : and try to skip, : does that mean the time consumed in reading the previous m bytes can be : skipped as well? : Thanks!
|
h******e 发帖数: 150 | 10 如果是固定行长度文件,可以直接跳
这东西和JAVA没什么关系把.用C/C++都是一样的弄. |