- ベストアンサー
テキストファイルへの書き込み方法
- テキストファイルに文字を書き込む方法を知りたいです。具体的には、Javaでテキストファイルを書き込む方法を教えてください。
- デスクトップ画面にあるmemo.txtというファイルにテキストエリアの内容を書き込む方法を教えてください。
- 具体的な解決策やアドバイスをお待ちしています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
あえて聞くけど 何ができたの? そして何ができないの? ステップとしては ・テキストエリアを表示する ・入力された文字を取得する ・文字列をファイルに出力する この3段階があると思うのだけど それぞれはできたのかしら?
その他の回答 (1)
- askaaska
- ベストアンサー率35% (1455/4149)
Java ファイル 出力 でぐぐればそれなりにサンプルは出てくるけど 出力のどのあたりができないかしら? ソースコードを見る限り 動くだけなら動きそうだけど。 まあ、もっともこのままだと100% System.out.println("ファイルに書き込めません"); こうなるけどね。
お礼
自己解決しました~! どうやらSystem.exit(0); の部分のしたにファイルに書きこむソースを書いたのが一番の原因でした とりあえずソース載せます 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(); } { try { File file = new File("c:\\memo.txt" ); if (checkBeforeWritefile(file)){ PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); pw.println("これはテストだってば!"); pw.println("これはテストだってば!"); pw.println("これはテストだってば!"); pw.close(); }else{ System.out.println("ファイルに書き込めません"); // 計3行を書き出して終了(追記でなければ1行だけになる) } }catch (IOException a) { // TODO 自動生成された catch ブロック a.printStackTrace();} } private boolean checkBeforeWritefile(File file) { if (file.exists()){ if (file.isFile() && file.canWrite()){ return true; } } return false; } class MyWindowListener1 extends WindowAdapter { public void windowClosing(WindowEvent e){ System.exit(0); } } } 有難う御座いました! ついでに閉めます
お礼
回答有難うございます テキストエリアを表示し入力した文字を取得までできました。 できない部分は最後の部分の文字列をファイルに出力する部分です