Java8如何读取一个大数据的csv文件,并取其前N个字段生成新文件
时间: 2023-10-05 18:06:42 浏览: 51
Java 8 中可以使用 Stream API 来读取大数据的 CSV 文件,并选择前 N 个字段生成新文件。
以下是基本的代码框架:
```java
public void readCSV(String inputFileName, String outputFileName, int numFields) throws IOException {
try (Stream<String> lines = Files.lines(Paths.get(inputFileName))) {
try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(outputFileName))) {
lines.map(line -> Arrays.stream(line.split(","))
.limit(numFields)
.collect(Collectors.joining(",")))
.forEach(line -> {
try {
writer.write(line + "\n");
} catch (IOException e) {
e.printStackTrace();
}
});
}
}
}
```
其中,`inputFileName` 是要读取的 CSV 文件名,`outputFileName` 是要生成的新文件名,`numFields` 是要选择的前 N 个字段数。
首先,通过 `Files.lines()` 方法读取文件的每一行,并将其转化为一个 `Stream` 对象。然后,使用 `Arrays.stream()` 方法将每一行拆分成字段,再使用 `limit()` 方法选择前 N 个字段,最后使用 `Collectors.joining()` 方法将这些字段连接成一个新的字符串。
接着,使用 `BufferedWriter` 将每一行写入到新文件中。
使用该方法,可以轻松地读取大数据的 CSV 文件,并选择前 N 个字段生成新文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)