Scrivere su file tramite l'azione di un Jbutton

di il
5 risposte

Scrivere su file tramite l'azione di un Jbutton

Buongiorno a tutti, avrei bisogno di un aiuto in quanto non riesco ad incrementare un file di testo cliccando su un jbutton chiamato "aggiungi".
in pratica popolo i Jtext della mia interfaccia e quando clicco su Aggiungi vorrei che tutto mi venga salvato su un file,ma non ci riesco. quale potrebbe essere una soluzione?

5 Risposte

  • Re: Scrivere su file tramite l'azione di un Jbutton

    imperator_84 ha scritto:


    Buongiorno a tutti, avrei bisogno di un aiuto in quanto non riesco ad incrementare un file di testo cliccando su un jbutton chiamato "aggiungi".
    in pratica popolo i Jtext della mia interfaccia e quando clicco su Aggiungi vorrei che tutto mi venga salvato su un file,ma non ci riesco. quale potrebbe essere una soluzione?
    Se devi "aggiungere" al fondo di un file già esistente (senza riscriverlo da zero), i vari FileOutputStream e FileWriter hanno costruttori con il flag 'append', dove se true appunto permette l'aggiunta.

    Per il resto, non è molto chiaro quali sono i tuoi dubbi a livello tecnico/pratico.
  • Re: Scrivere su file tramite l'azione di un Jbutton

    Ho già utilizzato il FileOutputStream e il suo costruttore, ma quando avvio la compilazione mi si crea un file che rimane vuoto. spero di essere stato un pò più chiaro,anche se ne dubito!
  • Re: Scrivere su file tramite l'azione di un Jbutton

    imperator_84 ha scritto:


    mi si crea un file che rimane vuoto. spero di essere stato un pò più chiaro
    No, mi spiace. Senza vedere cosa hai scritto, avrei difficoltà pure tirando ad indovinare ..... hai fatto il close() ? Hai gestito correttamente le eccezioni?
  • Re: Scrivere su file tramite l'azione di un Jbutton

    Vorrei creare un archivio di medicinali su un file.mi dici dove sbaglio?



    public Far() {
    setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\xxxxxx\\Desktop\\images.jpg"));
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 498, 366);
    // jMenu
    JMenuBar menuBar = new JMenuBar();
    setJMenuBar(menuBar);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    Nome = new JTextField();
    Nome.setBounds(10, 11, 205, 20);
    contentPane.add(Nome);
    Nome.setColumns(10);






    PrincipioAttivo = new JTextField();
    PrincipioAttivo.setBounds(10, 57, 205, 20);
    contentPane.add(PrincipioAttivo);
    PrincipioAttivo.setColumns(10);


    JComboBox<String> comboBox = new JComboBox<String>();
    comboBox.setBounds(10, 99, 205, 20);
    contentPane.add(comboBox);
    comboBox.addItem("Seleziona una tipologia");
    comboBox.addItem("Compresse");
    comboBox.addItem("Sciroppo");
    comboBox.addItem("Crema");
    comboBox.addItem("Fiale");
    comboBox.addItem("Supposte");
    comboBox.addItem("Altro");



    Scadenza = new JFormattedTextField();
    Scadenza.setBounds(10, 150, 86, 20);
    contentPane.add(Scadenza);
    Scadenza.setColumns(10);

    JLabel lblNome = new JLabel("Nome");
    lblNome.setBounds(317, 14, 46, 14);
    contentPane.add(lblNome);

    JLabel lblPrincipioAttivo = new JLabel("Principio Attivo");
    lblPrincipioAttivo.setBounds(302, 59, 122, 17);
    contentPane.add(lblPrincipioAttivo);

    JLabel lblNewLabel_1 = new JLabel("Tipologia");
    lblNewLabel_1.setBounds(302, 102, 122, 14);
    contentPane.add(lblNewLabel_1);

    JLabel lblNewLabel_2 = new JLabel("Scadenza");
    lblNewLabel_2.setBounds(317, 153, 78, 14);
    contentPane.add(lblNewLabel_2);

    JButton btnNewButton = new JButton("Cerca");
    btnNewButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    }
    });

    /*String pa=PrincipioAttivo.getText();
    GregorianCalendar sc= scad.getData();*/


    JButton btnAggiungi = new JButton("Aggiungi");
    btnAggiungi.setBounds(7, 241, 89, 23);
    contentPane.add(btnAggiungi);

    btnAggiungi.addActionListener(new ActionListener() {




    @Override
    public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub

    Farma farm=new Farma();
    farm.getNome();







    FileOutputStream w = null;
    try {
    w=new FileOutputStream("C:\\Users\\xxxxx\\Desktop\\farmaco.txt");
    } catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();


    PrintStream b=new PrintStream(w);
    b.println(Nome.getText());

    b.close();


    }}
    /*BufferedWriter b;
    b=new BufferedWriter(w);
    try {
    b.write(Nome.toString());
    } catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    try {
    b.write(pa.toString());
    } catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }*/
  • Re: Scrivere su file tramite l'azione di un Jbutton

    imperator_84 ha scritto:


    w=new FileOutputStream("C:\\Users\\xxxxx\\Desktop\\farmaco.txt");
    Così innanzitutto sovrascrivi il file. (se volevi "appendere", ripeto che c'è l'altro costruttore).

    imperator_84 ha scritto:


    
    				} catch (IOException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    					
    					
    					PrintStream b=new PrintStream(w);
    					b.println(Nome.getText());
    				
    					b.close();
    				}
    La scrittura ... nel catch? Ovviamente non ha senso lì.
Devi accedere o registrarti per scrivere nel forum
5 risposte