bufferedreader读取txt文件
时间: 2023-09-05 11:09:54 浏览: 51
以下是使用Java的BufferedReader读取txt文件的示例代码:
```
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadTxtFile {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("sample.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在此示例中,使用了try-with-resources结构,以确保在读取完文件后自动关闭BufferedReader。在while循环中,使用readLine方法逐行读取文件,并将读取到的内容输出到控制台。请注意,此示例假设文件名为“sample.txt”,并位于当前工作目录中。如果文件名或路径不同,请相应地更改文件名或路径。
相关问题
BufferedReader读取txt文件乱码
可能是因为读取的文本文件的编码格式与你的代码中指定的编码格式不一致。可以尝试以下方法解决:
1. 指定读取文件的编码格式,例如:
```java
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
```
2. 尝试使用其他编码格式进行读取,例如:
```java
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK"));
```
3. 如果无法确定文件的编码格式,可以尝试使用第三方库进行自动检测和转换,例如:
```java
import org.mozilla.universalchardet.UniversalDetector;
// 自动检测文件编码格式
UniversalDetector detector = new UniversalDetector(null);
byte[] buf = new byte[4096];
int nread;
while ((nread = inputStream.read(buf)) > 0 && !detector.isDone()) {
detector.handleData(buf, 0, nread);
}
detector.dataEnd();
// 获取检测到的编码格式
String encoding = detector.getDetectedCharset();
if (encoding != null) {
// 转换编码格式
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, encoding));
}
```
java 使用BufferedReader读取txt文件出现乱码怎么解决
当使用BufferedReader读取txt文件时,如果文件中含有中文,可能会出现乱码。解决方案如下:
1. 统一编码:确保java工程的编码、txt文本编码、java文本编码都统一为utf-8。
2. 使用InputStreamReader:使用InputStreamReader(new FileInputStream(fileUrl), "UTF-8")来读取文件,其中"UTF-8"为文件编码格式。
另外,如果读取的是json文件,也可以使用JsonReader来读取,它可以自动处理编码问题。