BufferedReader中/保存

时间:2013-10-17 21:28:25

标签: java inputstream bufferedreader

我有一个程序,要求您提供您的名字和第二个名字。我使用OutputStream将第一个名称保存在工作区中存储的文件中。我使用BufferedReader来读取文件,但我试图得到它,如果该人在JOptionPane.YES_NO_DIALOG上单击是,它将使用文件中的名称! 我已经尝试过,如果Statement声明如果JOptionPane ...然后是text.setText(savedName),但它只是出现为“Welcome null null”

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class BingoHelper extends JFrame implements WindowListener, ActionListener{
JTextField text = new JTextField();

//JLabel bg = new JLabel("helo");

private JButton b; {
        b = new JButton("Click to enter name");
        }

JPanel pnlButton = new JPanel();

public static String fn;
public static String sn;

public static int n;

File f = new File("test.txt");

public void actionPerformed (ActionEvent e){

    Object[] yesNo = {"Yes",
                      "No",};
    n = JOptionPane.showOptionDialog(null,"Would you like to use previously entered data?","Welcome Back?",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,  null, yesNo,yesNo[1]);

    if (n == JOptionPane.NO_OPTION){    
        for(fn=JOptionPane.showInputDialog("What is your first name?");!fn.matches("[a-zA-Z]+");fn.isEmpty()){
            JOptionPane.showMessageDialog(null, "Alphabet characters only.");
            fn=JOptionPane.showInputDialog("What is your first name?");
        }
        for(sn=JOptionPane.showInputDialog("What is your second name?");!sn.matches("[a-zA-Z]+");sn.isEmpty()){
            JOptionPane.showMessageDialog(null, "Alphabet characters only.");
            sn=JOptionPane.showInputDialog("What is your second name?");
        }

    }
    //JOptionPane.showMessageDialog(null, "Welcome " + fn + " " + sn + ".", "", JOptionPane.INFORMATION_MESSAGE);
    text.setText("Welcome " + fn + " " + sn + ".");
    b.setVisible(false);
    b.setEnabled(false);
    text.setVisible(true);
    text.setBounds(140,0,220,20);
    text.setHorizontalAlignment(JLabel.CENTER);
    text.setEditable(false);
    text.setBackground(Color.YELLOW);
    pnlButton.setBackground(Color.DARK_GRAY);
    writeToFile();
    //bg.setVisible(true);
}

private void writeToFile() {

    String nameToWrite = fn;
    OutputStream outStream = null;
    try {
        outStream = new FileOutputStream(f);
        outStream.write(nameToWrite.getBytes());
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
        String savedName = br.readLine();

        //System.out.println(savedName);
        br.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();

    } finally {
        if (null != outStream) {
            try {
                outStream.close();
            } catch (IOException e) {
                // do nothing
            }
        }
    }
}

0 个答案:

没有答案