如何从网络驱动器读取5G日志文件的Scala脚本应该被修改以读取最后的x行(如Unix中的'tail')?如何从网络驱动器读取5G日志文件的Scala脚本应该修改以读取最后的x行(如Unix中的'tail')?
::#!
@echo off
call scala %0 %*
goto :eof
::!#
import scala.io.Source
if (args.length > 0) {
for (line <-Source.fromFile(args(0)).getLines)
if(line.contains("percent")){
print(line)
}
}
通过网络读取整个5G文件和倾倒出去,但最后5行似乎很理想。 – copumpkin 2009-11-04 00:24:37
它不是。你必须从头读取字节块,直到获得所需数量的行才能完成,使用几行堆栈 - 一个用于当前块,一个用于整体。这需要通过Java I/O库,这是非常可怕的,我不会为了付钱而不去碰它。 :-) – 2009-11-04 10:48:09
除非你知道编码是固定字节长的,否则它是不可能从文件中读取的 – 2009-11-04 16:26:56