Witajcie, mam pewien problem. Wczytuję zawartość pliku do pola textArea a następnie zapisuję ją do nowego pliku. Niestety po zapisaniu pliku nie można już go otworzyć. Po otwarciu pliku w notatniku widzę, że pliki różnią się od siebie nieznacznie, (na przykład w zapisanym pliczku gdzieś dostawiony jest znak ? którego nie ma w starym). Oczywiście ta niewielka "zmiana" powoduje , że nowo utworzonego pliku nie można otworzyć. Kombinuję i nie wiem gdzie popełniam błąd... W zasadzie problem nie występuje z plikami tekstowymi, ale np plik Excela czy dowolny obrazek wczytuje się / zapisuje się (?) nieprawidłowo Może wy coś pomożecie...Z góry dzięki.
ODCZYT:
public void actionPerformed(ActionEvent e)
{
JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(null); //replace null with your swing container
File file = null;
if(returnVal == JFileChooser.APPROVE_OPTION)
file = chooser.getSelectedFile();
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String line = null;
try {
line = in.readLine();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
while(line != null){
textArea_.append(line + "\n");
try {
line = in.readLine();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
ZAPIS:
public void actionPerformed(ActionEvent e)
{
JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try (BufferedWriter fileOut = new BufferedWriter(new FileWriter(file))) {
textArea_.write(fileOut);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// load from file
}