Código de Java - Guardar archivos de texto en java

Imágen de perfil

Guardar archivos de texto en javagráfica de visualizaciones


Java

Actualizado el 24 de Diciembre del 2017 por Rafael Angel (Publicado el 23 de Diciembre del 2017)
3.043 visualizaciones desde el 23 de Diciembre del 2017. Una media de 84 por semana
Permite guardar un archivo de texto con la informacion que se ha escrito en un JTextArea.
Se muestra en forma ordenada y muy clara como se ha programado este simple ejemplo.
Tiene eventos con java.awt.event.ActionListener,entre otras bibliotecas.

Requerimientos

tener la maquina virtual java instalada y algun compilador java, preferiblemente NetBeans, DrJava o Geany.
Nota:
El programa fue editado en Geany pero solo es texto plano.

1.0

Actualizado el 24 de Diciembre del 2017 (Publicado el 23 de Diciembre del 2017)gráfica de visualizaciones de la versión: 1.0
3.044 visualizaciones desde el 23 de Diciembre del 2017. Una media de 84 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Version unica para uso de ejemplo y para compartirse aqui deseando ayudar a los demas.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
//Rafael Angel Montero Fernández.
//Correo: Sharkyc12@gmail.com
//Fecha 23 de diciembre del 2017.
 
//Estas son bibliotecas para poder guardar el archivo de texto.
import java.io.BufferedWriter;//Escribe la informacion en el archivo o sea lo graba en el disco duro.
import java.io.File;//Comprueva si existe el archivo.
import java.io.FileWriter;//Indica el archivo en el que se va a escribir.
import java.io.IOException;//Para el control de errores. Se debe poner entre public ....() y {}
import java.awt.FileDialog;//Muestra un dialogo salvar archivos.
/////////////////////////////////////
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
 
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
 
//El archivo java debe ser guardado con el nombre de la clase publica.
//Guardelo con el nombre Formulario.java
public class Formulario extends JFrame implements ActionListener
{
	private JLabel jlTexto;
	private JTextArea jtaTexto;
	private JButton jbSalir, jbGuardar;
	private JScrollPane jspTexto;//Todo JTextArea debe llevar asociado un JScrollPane.
	private Archivo archivo;
	private Font fuente;
 
	public Formulario()
	{
		//Configuarando las caracteristicas del form
		super("Guardar texto.");
		setSize(500,500);
		setLayout(null);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		setResizable(false);
		///////////////////////////////////////////////////
		fuente=new Font("Tahoma", Font.BOLD, 16);
		jlTexto=new JLabel("Escriba el texto");
		jlTexto.setBounds(1,1,150,25);
		getContentPane().add(jlTexto);
		//El JTextArea se agrega al JScrollPane.
		jtaTexto=new JTextArea();
		jtaTexto.setFont(fuente);
		jtaTexto.setToolTipText("Escriba el texto que quiera en el campo de texto");
		jtaTexto.setBounds(1,35,490,370);
		jspTexto=new JScrollPane(jtaTexto);
		jspTexto.setBounds(1,35,490,370);//El JScrollPane tiene las mismas coordenadas que el JTextArea.
		getContentPane().add(jspTexto);
		jbGuardar=new JButton("Guardar");
		jbGuardar.setToolTipText("Guarda lo que ha escrito en el campo de texto");
		jbGuardar.setBounds(10,425,100,25);
		getContentPane().add(jbGuardar);
		jbGuardar.addActionListener(this);
		jbSalir=new JButton("Salir");
		jbSalir.setBounds(385,425,100,25);
		jbSalir.addActionListener(this);
		getContentPane().add(jbSalir);
		archivo=new Archivo();
	}//Constructor
 
	public static void main(String args[])
	{
		Formulario frm=new Formulario();
		frm.show();
	}//main
 
	public void actionPerformed(ActionEvent evt)
	{
		click_guardar(evt);
		click_salir(evt);
	}//actionPerformed
 
	public void click_guardar(ActionEvent evt)
	{
		if(evt.getActionCommand().equalsIgnoreCase("Guardar"))
		{
			JOptionPane.showMessageDialog(null, archivo.escribir_archivo(jtaTexto.getText()) );
		}//if
	}//click_guardar
 
	public void click_salir(ActionEvent evt)
	{
		if(evt.getActionCommand().equalsIgnoreCase("Salir"))
		{
			System.exit(0);
		}//if
	}//click_salir	
 
}//Formulario
////////////////////////////////////////////////////////////
//Clase declarada en modo friend.
class Archivo
{
	private File flArchivo;
	private String Ruta_del_archivo;
	private BufferedWriter bwEscritor;
	private FileWriter fwArchivo_en_el_que_escribir;
	private FileDialog fdGuardar;
 
	public Archivo()
	{
		fdGuardar=new FileDialog(fdGuardar, "Guardar como", FileDialog.SAVE);
 
		Ruta_del_archivo="";
		flArchivo=new File(Ruta_del_archivo);
	}//Constructor
 
	public String escribir_archivo(String texto_a_guardar)
	{
		String mTextos[]=texto_a_guardar.split("\n"), respuesta="";//Se detecta el salto de linea, se va colocando en el vector.
	//JOptionPane.showMessageDialog(null,texto_a_guardar);
		fdGuardar.setVisible(true);
		fdGuardar.dispose();
		Ruta_del_archivo=fdGuardar.getDirectory()+fdGuardar.getFile() + ".txt";
		flArchivo=new File(Ruta_del_archivo);
		//Este condicional no afecta en nada la forma de guardar el archivo pero si es bueno usarlo para no borrar un trabajo previo.
		if(flArchivo.exists())
		{
			respuesta="El archivo ya existia y ha sido sobreescrito. \nEn la direccion: " +  flArchivo.getPath( ) ;
		}//if
		else
		{
			respuesta="El archivo ha sido creado exitosamente.\nEn la direccion: " +  flArchivo.getPath( ) ;
		}//else*/
 
		try{
			//Este bloque de codigo obligatoriamente debe ir dentro de un try.
			fwArchivo_en_el_que_escribir=new FileWriter(flArchivo);//De momento se deja hasta aqui, listo para escribir, se escribe en el momento de dar la orden.
			for (int i=0; i<=mTextos.length-1;i++)
			{
				//Se va escribiendo cada linea en el archivo de texto.
				fwArchivo_en_el_que_escribir.write(mTextos[i] + "\r\n" );
			}//for
			//Este metodo escribe el archivo en el disco duro.
			bwEscritor=new BufferedWriter(fwArchivo_en_el_que_escribir);
			bwEscritor.close();//Se cierra el archivo.		
		}catch(Exception ex){JOptionPane.showMessageDialog(null,ex.getMessage());}
 
		return respuesta;
	}//escribir_archivo
 
}//Class Archivo
///////////////////////////////////////////////////////////////////////////////



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4357  
Revisar política de publicidad