私は非常に単純なコードを持っています:
private final JFileChooser chooser;
private List list, fileList;
//some codes
int returnVal = chooser.showDialog(CountdownTimer.this, "Select Files");
if(returnVal==JFileChooser.APPROVE_OPTION) {
File[] file = chooser.getSelectedFiles();
System.out.println("Selected files:");
for(int i=0; i<file.length; i++) {
list.add(file[i].getName());
fileList.add(file[i].getAbsolutePath());
System.out.println("list["+i+"] "+file[i].getName());
System.out.println("fileList["+i+"] "+file[i].getAbsolutePath());
}
}
else System.out.println("No selection.");
2 つのリストが必要です。最初のものは表示 (および削除) 目的で使用され、もう 1 つは選択したすべてのファイルを圧縮するために使用されます。ファイルを圧縮するには、各ファイルの場所と名前が必要です。しかし、何らかの理由で、ライン
fileList.add(file[i].getAbsolutePath());
行中にエラー「Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException」が生成されます
list.add(file[i].getName());
元気です。GUI にはList リストを、郵便番号にはList fileListを使用しています。