Tengo un método que llegar el texto de un JTextArea, crear un archivo y escribir texto en él como código de abajo:extensión .txt en JFileChooser
public void createTxt() {
TxtFilter txt = new TxtFilter();
JFileChooser fSave = new JFileChooser();
fSave.setFileFilter(txt);
int result = fSave.showSaveDialog(this);
if(result == JFileChooser.APPROVE_OPTION) {
File sFile = fSave.getSelectedFile();
FileFilter selectedFilter = fSave.getFileFilter();
String file_name = sFile.getName();
String file_path = sFile.getParent();
try{
if(!sFile.exists()) {
sFile.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(sFile));
out.write(jTextArea1.getText());
out.close();
JOptionPane.showMessageDialog(null, "Warning file • " + file_name + " • created succesfully in \n" + file_path);
} else {
String message = "File • " + file_name + " • already exist in \n" + file_path + ":\n" + "Do you want to overwrite?";
String title = "Warning";
int reply = JOptionPane.showConfirmDialog(null, message, title, JOptionPane.YES_NO_OPTION);
if(reply == JOptionPane.YES_OPTION){
sFile.delete();
sFile.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(sFile));
out.write(jTextArea1.getText());
out.close();
JOptionPane.showMessageDialog(null, "File • " + file_name + " • overwritten succesfully in \n" + file_path);
}
}
}
catch(IOException e) {
System.out.println("Error");
}
}
}
y un filtro de archivo txt
public class TxtFilter extends FileFilter{
@Override
public boolean accept(File f){
return f.getName().toLowerCase().endsWith(".txt")||f.isDirectory();
}
@Override
public String getDescription(){
return "Text files (*.txt)";
}
}
El filtro de archivos para txt funciona bien, pero lo que quiero es agregar la extensión ".txt" cuando escribo el nombre del archivo.
¿Cómo tengo que modificar mi código?
No funciona ... no se han agregado extensiones –
¡Muy extraño! En mi sistema todo funciona ... Edité la respuesta. –
¡Muchas gracias por sus útiles informaciones! Tiene razón, escribí dos veces el archivo, no hay ninguna razón para esto. Ahora los archivos están guardados correctamente con el sufijo ".txt –