java中如何创建流去读取文本
时间: 2024-03-13 13:43:03 浏览: 14
在Java中,可以使用java.io包中的InputStream和Reader类来创建流去读取文本。下面是一些示例代码:
使用InputStream读取文本文件:
```
try (InputStream inputStream = new FileInputStream("file.txt")) {
int data;
while ((data = inputStream.read()) != -1) {
char ch = (char) data;
// 处理字符
}
} catch (IOException e) {
e.printStackTrace();
}
```
使用Reader读取文本文件:
```
try (Reader reader = new FileReader("file.txt")) {
int data;
while ((data = reader.read()) != -1) {
char ch = (char) data;
// 处理字符
}
} catch (IOException e) {
e.printStackTrace();
}
```
上述代码中,我们使用了Java 7中的“try-with-resources”语句,这样可以确保在使用完流之后自动关闭它们。在循环中,我们读取每个字符并进行处理,直到到达文件的末尾。
除了上述方法,还可以使用BufferedReader类来读取文本文件。使用BufferedReader可以一次读取多个字符,这样可以提高读取效率。以下是一个使用BufferedReader读取文本文件的示例代码:
```
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
// 处理每一行文本
}
} catch (IOException e) {
e.printStackTrace();
}
```
在这个示例中,我们创建了一个BufferedReader对象,并使用readLine()方法读取文件中的每一行文本。与前面的示例不同,我们这里读取的是一行文本而不是单个字符。