javaプログラムのファイル書き出しについて
以前はファイルに書き出すためのパスが違っており、書き出せずにいるところをアドバイスいただきありがとうございます。
プロフィールを書くプログラムを組んでいます。
打ち込んだプロフィールを画面に表示すると同時に、ファイルにも結果を書き出したいのですが、書き出せれる内容が、打ち込んだ内容ではなく、
プルグラムの書き込み欄に例として表示される用に書いている、
下の内容が書き出されてしまいます。
「name = new JTextField("名前", 20);
birth = new JTextField("生年月日", 20);
address = new JTextField("住所", 40);
mail = new JTextField("mail", 40);
number= new JTextField("電話番号", 30);」
テキストファイルに書き出される内容です。
「名前:名前
生年月日:生年月日
住所:住所
mail:mail
電話:電話番号」
打ち込んだ内容がテキストファイルに書き出すにはどうすればいいでしょうか?
下がソースコードです。
よろしくお願いします。
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Sample extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
static JTextField name;
static JTextField birth;
static JTextField address;
static JTextField mail;
static JTextField number;
JLabel label;
public static void main(String args[]){
Sample frame = new Sample("profile");
frame.setVisible(true);
}
Sample(String title){
setTitle(title);
setBounds(100, 100, 500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel();
name = new JTextField("名前", 20);
birth = new JTextField("生年月日", 20);
address = new JTextField("住所", 40);
mail = new JTextField("mail", 40);
number= new JTextField("電話番号", 30);
JButton button = new JButton("取得");
button.addActionListener(this);
label = new JLabel();
p.add(name);
p.add(birth);
p.add(address);
p.add(mail);
p.add(number);
p.add(button);
Container contentPane = getContentPane();
contentPane.add(p, BorderLayout.CENTER);
contentPane.add(label, BorderLayout.SOUTH);
try{
File file = new File("C:\\Users\\mattun\\Documents\\sample.txt");
if (checkBeforeWritefile(file)){
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
//ファイルに書き込む内容
pw.println("名前:"+name.getText());
pw.println("生年月日:"+birth.getText());
pw.println("住所:"+address.getText());
pw.println("mail:"+mail.getText());
pw.println("電話:"+number.getText());
pw.close();//ファイルを閉じる
}else{
System.out.println("ファイルに書き込めません");//書き込み出来ない場合
}
}catch(IOException e){
System.out.println(e);
}
}
public void actionPerformed(ActionEvent e){
label.setText("<html>"+"名前:"+name.getText()+"<br>"+"生年月日:"+birth.getText()+"<br>"+"住所:"+address.getText()+
"<br>"+"mail:"+mail.getText()+"<br>"+"電話:"+number.getText()+"</html>");
}
private static boolean checkBeforeWritefile(File file){
if (file.exists()){
if (file.isFile() && file.canWrite()){
return true;
}
}
return false;
}
}
お礼
お礼が遅くなり大変申し訳ありません。。。 二度も回答いただき大変ありがとうございました。参考にさせて頂きました。 本当にすみませんでした。