gpt4 book ai didi

Java FileDialog 浏览和读取文件

转载 作者:行者123 更新时间:2023-11-30 06:02:17 25 4
gpt4 key购买 nike

我有一个使用 FileDialog 浏览文件的按钮。我需要读取我选择的文件中的所有行,我尝试了很多方法,但对我没有任何作用:( 我有另一个按钮,当我按下它时,它会读取文件并打印它。

        Button btnBrowse = new Button(composite_2, SWT.NONE);
btnBrowse.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
FileDialog fileBrowse = new FileDialog(pmComp, SWT.MULTI);
fileBrowse.setFilterExtensions(new String[] {"*.txt"});
String filePath = fileBrowse.open();
if (filePath != null) {
StringBuffer buf = new StringBuffer();
files = fileBrowse.getFileNames();
for (int i = 0, n = files.length; i < n; i++) {
buf.append(fileBrowse.getFilterPath());
if (buf.charAt(buf.length() - 1) != File.separatorChar) {
buf.append(File.separatorChar);
}
buf.append(files[i]);
buf.append("\n");
}
for (int i = 0, n = files.length; i < n; i++) {
listViewer.add(files[i]);
}

System.out.println(buf);

}
}
});

最佳答案

查看示例代码:

这里btnBrowseFile是我们需要选择文件的按钮

this.btnBrowseFile.addListener(SWT.Selection, event -> {
final Shell shell = this.getShell();
final FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setText("Select valid text file");
dialog.setFilterExtensions("*.txt");
String selectedFileStr = dialog.open();
if (selectedFileStr != null && !selectedFileStr.isEmpty()) {
final Stream<String> lines = Files.lines(Paths.get(selectedFileStr), StandardCharsets.UTF_8);
List<String> readList = lines.collect(Collectors.toList());
lines.close();
readList.forEach(line -> {
System.out.println(line);
// Do your work
});
}
});

关于Java FileDialog 浏览和读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52025190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com