Hallo zusammen,
folgendes Problem lässt sich von mir einfach nicht beheben:
Ich habe mehrere Dateien, die im Internet verfügbar sind. Den Pfad zu den Dateien speichere ich in einem Vector ab. Über ein Dialog wähle ich den Zielordner, in dem die Dateien gespeichert werden sollen.
Der Speichervorgang etc funktioniert auch einwandfrei. Mein Problem besteht jedoch darin, dass sowohl Exceldateien, PDFs etc durch den Speichervorgang scheinbar beschädigt werden. Lade ich einfache Textdateien herunter, so funktioniert es einwandfrei. Da ich die Dateien zeilenweise auslesen und dann per write in die Datei schreibe, vermute ich an dieser Stelle den Fehler. Ich erzwinge nach jeder Zeile einen Umbruch über \n bzw. \r\n (beide Varianten sind scheinbar fehlerhaft).
Vielleicht hat von euch jemand eine Idee??
Anbei mein Quellcode:
folgendes Problem lässt sich von mir einfach nicht beheben:
Ich habe mehrere Dateien, die im Internet verfügbar sind. Den Pfad zu den Dateien speichere ich in einem Vector ab. Über ein Dialog wähle ich den Zielordner, in dem die Dateien gespeichert werden sollen.
Der Speichervorgang etc funktioniert auch einwandfrei. Mein Problem besteht jedoch darin, dass sowohl Exceldateien, PDFs etc durch den Speichervorgang scheinbar beschädigt werden. Lade ich einfache Textdateien herunter, so funktioniert es einwandfrei. Da ich die Dateien zeilenweise auslesen und dann per write in die Datei schreibe, vermute ich an dieser Stelle den Fehler. Ich erzwinge nach jeder Zeile einen Umbruch über \n bzw. \r\n (beide Varianten sind scheinbar fehlerhaft).
Vielleicht hat von euch jemand eine Idee??
Anbei mein Quellcode:
Java:
try {
for (int i = 0; i < vecSaveDocs.size(); i++ ) {
URL urlFile = new URL(vecSaveDocs.elementAt(i));
InputStreamReader inputRead = new InputStreamReader(urlFile.openStream());
BufferedReader buffReader = new BufferedReader(inputRead);
File tmpFile = new File(vecSaveDocs.elementAt(i));
String sFileStored = jFileDirectory.getPath() + "\\" + tmpFile.getName();
FileWriter fileWrite = new FileWriter(sFileStored);
BufferedWriter bufWriter = new BufferedWriter(fileWrite);
String sTmpLine = "";
while ((sTmpLine = buffReader.readLine()) != null) {
bufWriter.write(sTmpLine + "\n\r"); // NUR \n FUNKTIONIERT AUCH NICHT
}
bufWriter.close();
fileWrite.close();
buffReader.close();
inputRead.close();
deftabDocuments.setValueAt(new Boolean(false), i, 0);
}
JOptionPane.showMessageDialog(jContentPanel, "Auswahl erfolgreich gespeichert!", "Speichervorgang erfolgreich", JOptionPane.INFORMATION_MESSAGE);
}
catch (Exception e) {
JOptionPane.showMessageDialog(jContentPanel, "Auswahl kann nicht gespeichert werden..\r\n\r\nDatei möglicherweise nicht verfügbar oder keine\r\n Schreibrechte für das gewählte Laufwerk?", "Fehler beim schreiben", JOptionPane.INFORMATION_MESSAGE);
e.printStackTrace();
}