在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操作次數,提高程序效率。