java怎么找出txt文件长度在前100的数据并生成txt文件保存
时间: 2024-03-17 11:41:28 浏览: 12
在Java中,你可以通过读取文本文件内容并按行切割的方式,获取每行的长度,并将它们保存到一个列表中。然后,对列表中的元素按照长度进行排序,并取出长度前100的数据。随后,可以将这些数据保存到一个新的文本文件中。
以下是示例代码:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> lines = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader("filename.txt"))) {
String line;
while ((line = br.readLine()) != null) {
lines.add(line);
}
Collections.sort(lines, (s1, s2) -> s1.length() - s2.length()); // 按照长度排序
List<String> top100 = lines.subList(0, 100); // 取出长度前100的数据
File outputFile = new File("output.txt");
try (BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile))) {
for (String s : top100) {
bw.write(s);
bw.newLine();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,'filename.txt'是你要处理的文本文件名,'output.txt'是生成的新文本文件名。首先使用`BufferedReader`类读取文件内容,并将每行保存到一个列表中。然后,使用`Collections.sort()`方法对列表中的元素按照长度进行排序。接着,使用`List.subList()`方法取出长度前100的数据。最后,创建一个新的文本文件,并使用`BufferedWriter`类将数据写入文件中。