我正在编写一个代码,使用BufferedInputStream从用户处读取输入,但由于BufferedInputStream读取字节,我的程序只读取第一个字节并打印它。除了只读取第一个字节外,还有什么方法可以读取/存储/打印整个输入(将是整数)?
import java.util.*;
import java.io.*;
class EnormousInputTest{
public static void main(String[] args)throws IOException {
BufferedInputStream bf = new BufferedInputStream(System.in) ;
try{
char c = (char)bf.read();
System.out.println(c);
}
finally{
bf.close();
}
}
}
输出:
[shadow@localhostcodechef]$java巨大输入测试5452 5
你可以在while循环中运行这个。
试试下面的代码
BufferedInputStream bf = new BufferedInputStream(System.in) ;
try{
int i;
while((i = bf.read()) != -1) {
char c = (char) i;
System.out.println(c);
}
}
finally{
bf.close();
}
}
但是请记住,这种解决方案比使用BufferedReader
效率低,因为InputStream。read()
对读取的每个字符进行系统调用
BufferedInputStream
用于读取字节。读一行包括读字符。
您需要一种将输入字节转换为字符集定义的字符的方法。因此,您应该使用读取器
,该读取器将字节转换为字符,并且您可以从中读取字符BufferedReader
还有一个读取整行的readLine()
方法,请使用该方法:
BufferedInputStream bf = new BufferedInputStream(System.in)
BufferedReader r = new BufferedReader(
new InputStreamReader(bf, StandardCharsets.UTF_8));
String line = r.readLine();
System.out.println(line);
我在一个教程中看到,BufferedInputStream类本身中的int read(字节b[],int off,int len)使用read()方法读取数据。 所以我的问题是,正常模式和不使用BufferedInputStream和使用buffer有什么区别?缓冲区应该以块的形式读取字节以降低成本,但这里它是逐字节读取。
我知道将BufferedInpurStream包装在FileInputStream周围会使读取操作更快,但我想知道如何做到这一点。我看了BufferedInpurStream的源代码,得到了一些东西。这是我的理解 当我做了这件事。read(),在内部,它将首先在缓冲区中一次读取字节块,然后从缓冲区中逐个读取每个字节,而不是从文件中读取(成本更高)。一旦缓冲区为空,它将再次用字节块填充它 而使用Fi
关于BufferedInputStream的使用,我有几个问题: 首先,我听说BufferedInputStream可以显著提高性能,如果您从硬盘上逐字节读取数据的话。 > 在这里使用BufferedInputStream会被证明非常有用吗? 同样,BufferedInputStream在逐字节读取时是否仅在套接字中起作用,即逐字节读取是否仅对预加载缓冲区有用?
问题内容: 我需要传递给jqgrid,但找不到如何执行此操作的任何示例。这是我的尝试: 从服务器发送: 并在jqgrid中: 如何从jqgrid 发送和阅读? 编辑:我知道我正在被发送,因为我可以在Fiddler中看到它。我认为我只是停留在如何在客户端上阅读它。 问题答案: 通常,的用法非常简单。jqGrid支持您从服务器发送 将与jqGrid数据一起保存的 任何其他 数据。所以,如果jqGrid
我绝望了,。。。我已经试了很多次了,没有运气。请帮忙 背景知识:我使用raspberry Pi 3开发了一个网络摄像头流媒体服务器,因为我不想要可用的服务器。使用raspistill时,fps非常低(4fps),这就是为什么我考虑使用v4l2选项来流式传输网络摄像机。为此,我将mjpeg视频输出到管道中。 从该管道读取时,将显示第一个jpeg图像,但连续读取返回null。 为了进一步调查这一点,我
小弟对io流很陌生,请问大佬下面的代码怎么优化?图片5Mb的时候要等8sm,怎么提高加载速度?