Java在文件按换行读取数据
时间: 2023-12-03 19:05:05 浏览: 26
可以使用Java中的BufferedReader类来实现按行读取文件数据。以下是示例代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLine {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("filename.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们使用了Java 7中的try-with-resources语句,以确保在读取完文件后关闭BufferedReader。在循环中,我们使用readLine()方法按行读取文件数据并打印出来。
相关问题
java写入文件没有换行,将A文件和B文件的内容合并到C文件没有换行
如果你想要在合并A文件和B文件的内容到C文件时添加换行符,你可以使用BufferedWriter类并在写入每一行数据后添加换行符。以下是一个示例代码:
```java
import java.io.*;
public class FileMerge {
public static void main(String[] args) {
String fileA = "A.txt";
String fileB = "B.txt";
String fileC = "C.txt";
try {
BufferedReader readerA = new BufferedReader(new FileReader(fileA));
BufferedReader readerB = new BufferedReader(new FileReader(fileB));
BufferedWriter writerC = new BufferedWriter(new FileWriter(fileC));
String line;
while ((line = readerA.readLine()) != null) {
writerC.write(line);
writerC.newLine();
}
while ((line = readerB.readLine()) != null) {
writerC.write(line);
writerC.newLine();
}
readerA.close();
readerB.close();
writerC.close();
System.out.println("Files merged successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们使用了BufferedReader和BufferedWriter类来读取和写入文件。在读取每一行时,我们使用readLine方法获取行数据。在写入每一行时,我们使用write方法写入行数据,并使用newLine方法添加换行符。最后,我们关闭了所有打开的读写流,并输出了一个成功合并的消息。
java读取txt文件中的数据
可以使用Java中的FileReader和FileWriter类来实现从一个txt文件中读取数据并写入到另外一个txt文件中的操作。具体步骤如下:
1. 创建一个FileReader对象,用于读取源文件中的数据。
2. 创建一个FileWriter对象,用于将读取的数据写入到目标文件中。
3. 使用BufferedReader类读取源文件中的数据,并将读取的数据写入到目标文件中。
4. 关闭FileReader和FileWriter对象,释放资源。
示例代码如下:
```
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileReadWrite {
public static void main(String[] args) {
String sourceFile = "source.txt";
String targetFile = "target.txt";
try (FileReader fr = new FileReader(sourceFile);
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter(targetFile)) {
String line;
while ((line = br.readLine()) != null) {
fw.write(line);
fw.write(System.lineSeparator()); // 换行符
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的示例代码中,我们使用了try-with-resources语句来自动关闭文件流,避免了手动关闭文件流时可能出现的异常。同时,我们还使用了System.lineSeparator()方法来获取系统的换行符,以保证在写入目标文件时能够正确地换行。