我有一个很长的文本文件,我想读取并从中提取一些数据。使用JavaFX和FXML,我正在使用FileChooser加载文件以获取文件路径。 我的controller.java具有以下内容:
private void handleButtonAction(ActionEvent event) throws IOException {
FileChooser fileChooser = new FileChooser();
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("TXT files (*.txt)", "*.txt");
fileChooser.getExtensionFilters().add(extFilter);
File file = fileChooser.showOpenDialog(stage);
System.out.println(file);
stage = (Stage) button.getScene().getWindow();
}
文本文件示例:请注意,一些文件内容分为两行。例如,-Ba\ 10.10.10.3 是第一行的一部分。
net ip-interface create 10.10.10.2 255.255.255.128 MGT-1 -Ba \
10.10.10.3
net ip-interface create 192.168.1.1 255.255.255.0 G-1 -Ba \
192.168.1.2
net route table create 10.10.10.5 255.255.255.255 10.10.10.1 -i \
MGT-1
net route table create 10.10.10.6 255.255.255.255 10.10.10.1 -i \
MGT-1
我正在寻找一种方法来搜索这个(文件)并输出以下内容:
MGT-1 ip-interface 10.10.10.2
MGT-1 Backup ip-interface 10.10.10.3
G-1 ip-interface 192.168.1.1
G-1 Backup Ip-interface 192.168.1.2
MGT-1 route 10.10.10.5 DFG 10.10.10.1
MGT-1 route 10.10.10.6 DFG 10.10.10.1
List<String> lines = Files.readAllLines(file.toPath(), StandardCharsets.UTF_8);
以获取包含所有行的列表。然后,您可以循环遍历这些行并按照您的意愿进行解析。 - assylias