giovedì 11 marzo 2010

Stream con l'aggiunta di grafica

Conseguimento dell'esercizio relativo agli stream precedentemente pubblicato con l'aggiunta della grafica e di alcune piccole modifiche al programma.



import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.FileNotFoundException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LeggiScriviStream {
JFrame f1=new JFrame("Scrivi");
JButton b1= new JButton("scrivi");
JLabel l1=new JLabel("nome");
JTextField t1=new JTextField();
JLabel l2=new JLabel("cognome");
JTextField t2=new JTextField();
JLabel l3=new JLabel("data");
JTextField t3=new JTextField();
JLabel l4=new JLabel("posta elettronica");
JTextField t4=new JTextField();
JLabel l5=new JLabel("telefono");
JTextField t5=new JTextField();
JPanel p1=new JPanel();
public LeggiScriviStream(){
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.setLayout(new GridLayout(11,1));
f1.add(l1);
f1.add(t1);
f1.add(l2);
f1.add(t2);
f1.add(l3);
f1.add(t3);
f1.add(l4);
f1.add(t4);
f1.add(l5);
f1.add(t5);
f1.add(b1);
b1.addActionListener(new Scrivi());
//sceglie lui le dimensioni più appropiate
f1.setSize(400,600);
f1.setVisible(true);

}
class Scrivi implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
writeInfo("rubrica.txt");
}
catch(IOException ioe){
System.out.println("Errore in fase di chiusura dello stream");
System.out.println(ioe.getMessage());
}
}
}
private void writeInfo(String fileName) throws IOException{
FileOutputStream fOut=null;
OutputStreamWriter outStream = null;
BufferedWriter buffWriter=null;
try{
fOut=new FileOutputStream(fileName);
outStream=new OutputStreamWriter(fOut);
buffWriter=new BufferedWriter(outStream);

String nome=null;
String cognome=null;
String data=null;
String postaElettronica=null;
String telefono=null;
nome =t1.getText();
cognome =t2.getText();
data =t3.getText();
postaElettronica=t4.getText();
telefono=t5.getText();
buffWriter.write(nome+";"+cognome+";"+data+";"+postaElettronica+";"+telefono+"\r\n");
//outStream.write(nome+";"+cognome+";"+data+";"+postaElettronica+";"+telefono+"\r\n");
System.out.println(cognome);
}catch(FileNotFoundException fnfe){
System.out.println("Errore nelle crazioni dei flussi di input e/o output di byte da/verso i file");
System.out.println(fnfe.getMessage());
}catch(UnsupportedEncodingException uee){
System.out.println("Codifiche dei flussi di input e/o di output di caratteri errate");
System.out.println(uee.getMessage());
}catch(IOException ioe){
System.out.println("Errore in fase di lettura e/o scrittura di caratteri");
System.out.println(ioe.getMessage());
}
finally{
if(buffWriter !=null){
buffWriter.close();

}
}
}
public static void main(String[]args) throws IOException{
LeggiScriviStream lss1=new LeggiScriviStream();
}
}

Nessun commento: