Scala 缓冲输入流 reader
Scala bufferedinput stream reader
我有一个scala程序如下
object TestApp {
def main(args: Array[String]): Unit = {
val in = new BufferedInputStream(new FileInputStream("testBytes.txt"))
val buffer = Array.ofDim[Byte](15)
while (in.read(buffer)>0) {
println(new String(buffer))
}
}
}
输入文件包含"AAAAAAAAAABBBBBBBBBB"
当我 运行 这个程序时,我得到以下结果
AAAAAAAAAABBBBB
BBBBBAAAAABBBBB
我很困惑为什么缓冲区仍然保留旧的读取数据,或者有什么方法可以避免这种情况?
我期待这样的事情
AAAAAAAAAABBBBB
BBBBB
read
方法returns读取的字节数。仅在缓冲区中使用这些字节。例如
var len = 0
while ({len = in.read(buffer); len} > 0) {
println(new String(buffer, 0, len))
}
我有一个scala程序如下
object TestApp {
def main(args: Array[String]): Unit = {
val in = new BufferedInputStream(new FileInputStream("testBytes.txt"))
val buffer = Array.ofDim[Byte](15)
while (in.read(buffer)>0) {
println(new String(buffer))
}
}
}
输入文件包含"AAAAAAAAAABBBBBBBBBB"
当我 运行 这个程序时,我得到以下结果
AAAAAAAAAABBBBB
BBBBBAAAAABBBBB
我很困惑为什么缓冲区仍然保留旧的读取数据,或者有什么方法可以避免这种情况?
我期待这样的事情
AAAAAAAAAABBBBB
BBBBB
read
方法returns读取的字节数。仅在缓冲区中使用这些字节。例如
var len = 0
while ({len = in.read(buffer); len} > 0) {
println(new String(buffer, 0, len))
}