Я пытаюсь выбрать каталог из JfileChooser, а затем перебирать этот каталог, читая все файлы и записывая их все в один большой файл HTML для удобного просмотра. Вот фрагмент кода, который должен выполнить это:
else if(arg0.getSource()==generate){
//Create HTML report in same directory that file(s) came from
try{
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnval = fileChooser.showSaveDialog(this);
if(returnval == JFileChooser.APPROVE_OPTION){
File fileName = new File( "./report.html" );
BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
bw.write("<html>");
bw.write("<body>");
bw.write("<h1>Graded Assignment</h1>");
bw.write("<p>");
//for loop here that appends all the files in a directory
File directory = new File(fileChooser.getSelectedFile().getAbsolutePath());
for( File f : directory.listFiles() ){
FileInputStream fstream = new FileInputStream(f);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
bw.write(br.readLine() + "\n");
}
bw.write("</p>");
bw.write("</body>");
bw.write("</html>");
bw.close();
Desktop.getDesktop().browse(fileName.toURI());
}
}
catch(FileNotFoundException fnf){
fnf.printStackTrace();
}
catch(IOException io){
io.printStackTrace();
}
Он попадет в цикл for и не будет прочитан в первом файле. Я получаю какую-то ошибку AWT-EventQueue. Может ли кто-нибудь воссоздать это и сказать мне, в чем может быть проблема? Спасибо.
FileInputStream
не удастся - person Attila   schedule 10.07.2012File directory = new File(fileChooser.getSelectedFile().getAbsolutePath());
и выдаетAWT-EventQueue-0 (Suspended (exception NullPointerException)
, поэтому я не думаю, что он на самом деле захватывает каталог. Я не знаю, почему, потому что.getAbsolutePath()
должен возвращать путь в виде строки, и все должно быть в порядке. Но, видимо, ничего не цепляет. - person ridecontrol53   schedule 11.07.2012