gpt4 book ai didi

java - Swt 文件对话框选择了太多文件?

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

如果我选择太多文件(大约 >2500 个文件),swt 文件对话框将给出一个空结果数组。该 list 向您展示了我如何使用此对话框。如果我选择太多声音文件,syso 将显示 0。调试告诉我,在这种情况下文件数组为空。有什么办法可以完成这项工作吗?

FileDialog fileDialog = new FileDialog(mainView.getShell(), SWT.MULTI);
fileDialog.setText("Choose sound files");
fileDialog.setFilterExtensions(new String[] { new String("*.wav") });
Vector<String> result = new Vector<String>();
fileDialog.open();

String[] files = fileDialog.getFileNames();
for (int i = 0, n = files.length; i < n; i++) {
if( !files[i].contains(".wav")) {
System.out.println(files[i]);
}

StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(fileDialog.getFilterPath());
if (stringBuffer.charAt(stringBuffer.length() - 1) != File.separatorChar) {
stringBuffer.append(File.separatorChar);
}
stringBuffer.append(files[i]);
stringBuffer.append("");

String finalName = stringBuffer.toString();
if( !finalName.contains(".wav")) {
System.out.println(finalName);
}
result.add(finalName);
}
System.out.println(result.size())

;

最佳答案

我查看了 FileDialog 源代码,恐怕有一个上限。用于所有以 0 结尾的文件名的 32kB 字节缓冲区(如果我理解正确的话)。

因此,根据您的值进行计算,如果您的电影名字符串的中等大小约为 12 个字符,那么您就正好达到了该上限。

因此,唯一的出路是分两步或更多步骤选择文件。

关于java - Swt 文件对话框选择了太多文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3012834/

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