※ ChatGPTを利用し、要約された質問です(原文:テキストファイルに書きこむにはどうすれば・・・)
テキストファイルへの書き込み方法
ここまでできました。ソーのせます。かなり長いです⇓
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class MyMemo {
TextField textField;
TextArea textArea;
public MyMemo(){
/* フレームを作成します。*/
Container frm = new Frame();
frm.setSize(new Dimension(450,350));
/* レイアウトを設定します。*/
frm .setLayout(new BorderLayout());
/* コンポーネントを作ります。*/
textField = new TextField(25);
textArea = new TextArea(25,10);
/* リスナーを登録します。*/
textField.addActionListener(new TextFieldAction());
/* フレームに登録します。*/
frm.add(textField, BorderLayout.NORTH);
frm.add(textArea , BorderLayout.CENTER);
/* フレームを表示させます。*/
frm.setVisible(true);
}
/* TextFieldでリターンキーが押されたら次にフォーカスを与える */
class TextFieldAction implements ActionListener{
public void actionPerformed(ActionEvent e){
textArea.insert(textField.getText() + "\n" ,0);
textField.setText("");
}
}
public static void main(String args[]){
new MyMemo();
}
}
class MyWindowListener1 extends WindowAdapter {
public void windowClosing(WindowEvent e){
System.exit(0);
// PrintWriterで文字列をファイルに書き出す。
// コンストラクタの第2引数にtrueを与えると,printlnの
// 呼び出しが「追記」扱いになる。
try {
File file = new File("c:¥¥tmp¥¥test.txt");
if (checkBeforeWritefile(file)){
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
String str = "これはテストだってば!";
pw.println(str);
pw.println(str);
pw.println(str);
pw.close();
// 計3行を書き出して終了(追記でなければ1行だけになる)
}else{
System.out.println("ファイルに書き込めません");
}
}catch (IOException a) {
// TODO 自動生成された catch ブロック
a.printStackTrace();
}
}
private boolean checkBeforeWritefile(File file) {
// TODO Auto-generated method stub
return false;
}
}
エラーはなく例外処理はtry~cath文でしました。
今回の題として、テキストエリアに文字を打ち込みデスクトップ画面にある
memo.txtに書きこむという内容です。
これ以上よっっっくわからなくてかなり途方にくれてます。
こうしたらいいとか解決策とかお願いします。
お礼
回答有難うございます テキストエリアを表示し入力した文字を取得までできました。 できない部分は最後の部分の文字列をファイルに出力する部分です