java如何循环读取
循环读取的方法
在Java中,循环读取数据通常涉及多种场景,例如读取文件、用户输入或网络流。以下是几种常见的循环读取实现方式:
1. 使用Scanner循环读取用户输入
import java.util.Scanner;
public class ReadInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
while (scanner.hasNextLine()) {
input = scanner.nextLine();
if ("exit".equalsIgnoreCase(input)) {
break;
}
System.out.println("输入内容: " + input);
}
scanner.close();
}
}
2. 使用BufferedReader循环读取文件
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 使用InputStream循环读取字节流

import java.io.FileInputStream;
import java.io.IOException;
public class ReadBytes {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("data.bin")) {
int byteData;
while ((byteData = fis.read()) != -1) {
System.out.print((char) byteData);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
注意事项
- 资源释放:确保在操作完成后关闭
Scanner、BufferedReader或InputStream等资源,推荐使用try-with-resources语法自动管理。 - 终止条件:循环中需明确终止条件(如文件结束符
-1或用户输入特定关键字)。 - 性能优化:大文件读取建议使用缓冲类(如
BufferedReader),避免频繁IO操作。
扩展场景
- 读取网络流:结合
Socket的InputStream,循环逻辑与文件读取类似。 - 数据库查询:通过
ResultSet的next()方法循环遍历查询结果。
以上方法覆盖了大多数循环读取需求,可根据具体场景调整实现细节。






