在Java中通过System.in
进行标准输入(stdin)读取数据时,可以通过以下方法对性能进行优化:
BufferedReader
包装System.in
,可以减少IO操作次数,提高读取效率。示例代码如下:BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while ((line = reader.readLine()) != null) {
// 处理输入数据
}
Scanner
类进行输入操作,它提供了方便的方法来读取不同类型的数据,例如nextInt()
,nextDouble()
,nextLine()
等。示例代码如下:Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
int num = scanner.nextInt();
// 处理输入数据
}
BufferedInputStream
对标准输入进行缓冲,减少IO操作次数。示例代码如下:BufferedInputStream bis = new BufferedInputStream(System.in);
byte[] buffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = bis.read(buffer)) != -1) {
// 处理输入数据
}
通过以上优化方法可以提高stdin读取数据的性能,减少IO操作次数,提高程序效率。