キーボード入力データを外部ファイルに書き込む
- キーボードから入力されたデータを外部ファイルに書き込むプログラムを作成する方法について説明します。
- FileWriterを使用して、TextFieldに入力されたデータを外部ファイルに格納する方法を解説します。
- キーボード入力データを外部txtファイルに保存するためのプログラムを作成する手順について説明します。
- ベストアンサー
キーボード入力データを外部ファイルに書き込む
2つのTextFieldに入力された単語を「A, B」というように、間にデリミタを挟んだ形でFileWriterを用いて外部txtファイルに格納するプログラムを作っています FileWriter単体では class filewrite { public static void main(String[] args){ try{ FileWriter fw = new FileWriter("D:/java/javatango.txt", true); fw.write("一 , one"); fw.close(); } catch (IOException e){ System.out.println(e); } } } で実行できるのですが、この「一」「one」を別々のTextFieldにキーボードから入力されたデータにしたいのですが、その場合はどのようにすれば良いでしょうか
- RaiDeen
- お礼率46% (30/65)
- Java
- 回答数5
- ありがとう数3
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>アプレットで書き込みとはこれを使う、ということでしょうか。 多分そうだと思います。 私自身、セキュリティを外したことはないし、 因みに、外し方を調べてみると そのアプレットを見るためには、アプレットを見る 全てのパソコンのJVMのセキュリティを 外さないといけないので、 個人で、セキュリティを外して、楽しむのはいいのでしょうけど アプレットの特徴とする、インターネットで 公開しても意味ないです。 あと、自分のパソコンの、セキュリティを 外すので、変なアプッレとに出くわすと どうなるか解らないので、 インターネットにつなぐたび、 セキュリティを外したり、元に戻したり、 大変そうですね。 どうしても、アプレットでやりたいのであれば 仕方がないですね。
その他の回答 (4)
- tom11
- ベストアンサー率53% (134/251)
>public class addition extends Applet implements ActionListener{ Appletを継承しているので、 このプログラムは、アプレットでしょうね。 よって、通常な方法では、ファイルに、 書き込みないは、出来ないと思います。
補足
http://www.res-system.com/weblog/item/67 アプレットで書き込みとはこれを使う、ということでしょうか。
- tom11
- ベストアンサー率53% (134/251)
追伸 全く、アプレットで、ファイルの書き込みが 出来ないわけではないです。 セキュリティを外せばいいだけです。 http://ja.wikipedia.org/wiki/Java%E3%82%A2%E3%83%97%E3%83%AC%E3%83%83%E3%83%88 ここに、詳しく書いてあります。
補足
もしかしたらアプレットとは言わないのでしょうか…;; コンパイルしたclassファイルをhtmlで読み込んでいるだけです。 質問文が悪かったかもしれませんので、再度書き直します。 現在単体でfilewriterは class filewrite { public static void main(String[] args){ try{ FileWriter fw = new FileWriter("D:/09sotsuron/words.txt", true); fw.write("一 * one"); fw.close(); } catch (IOException e){ System.out.println(e); } } } で起動しています。 これを応用させて public class addition extends Applet implements ActionListener{ Button Tsuika, Clear; TextField jap, eng; public void init(){ setBackground(new Color(200, 200, 200)); add(new Label("[ japanese ]")); jap = new TextField("", 30); add(jap); add(new Label("[ english ]")); eng = new TextField("", 30); add(eng); Tsuika = new Button("書き込み"); Tsuika.addActionListener(this); add(Tsuika); } public void actionPerformed(ActionEvent e){ try{ if(e.getSource() == Tsuika){ …に続く形で"書き込み"ボタンを押すと二つのtextfieldにキーボードから入力された文章を外部のファイルに 一 * one というようにデリミタを挟んで書き込むプログラムにしたいのですが textfieldの入力を読み込んで書き込むためにはどのような記述をすればよいでしょうか
- tom11
- ベストアンサー率53% (134/251)
そもそも、アプレットで、ファイルの書き込み 出来ないような!!! >textフィールドを二つ並べ、そこにキーボードから入力された文を >別のtxtファイルに間にデリミタを挟んで >「A, B」というように書き ですから、JFrame等で、ファイルに書き込みする場合 二つのテキストフィールドから、文字を拾って、 "一"+","+"one"で、二つのテキストフィールドのテキストを 連結して、ファイルの書き込むだけじゃないのですか???
- tom11
- ベストアンサー率53% (134/251)
もしかして、このような事???? fw.write("一"+","+"one"); 質問者と、多分同じ動作すると思いすが
お礼
補足が修正しようにも消せず、二つ書くこともできなかったのでお礼で…;; 作りたいのはコマンドプロンプトで動くjavaプログラムではなくブラウザ上で動くアプレットで、 textフィールドを二つ並べ、そこにキーボードから入力された文を別のtxtファイルに間にデリミタを挟んで「A, B」というように書き出すといったものです。
補足
質問の仕方が悪かったかもしれません。作りたいのは 別プログラム(ブラウザ上で動くアプレットというのでしょうか?)で、 textfieldにキーボードから入力した文をfilewriterで外部txtファイルに書きだすプログラムです。
関連するQ&A
- 超基本的な質問?ファイルの変数
すごく基本的な質問だと思うのですが、 FileWriter 変数をクラスのメンバとしては持てないのでしょうか? たとえば、下のように書くとエラーが出るのですが、何がまずいのでしょうか? import java.io.FileWriter; public class FileTest { FileWriter fw; public static void main(String[] args) { try { fw = new FileWriter("test.txt"); fw.close(); } catch (Exception e) { System.out.println("Exception: " + e); } } }
- ベストアンサー
- Java
- DataをtxtFileに書かせて、同じFileから読み込みです、エラーの意味が不明です
JAVA初心者です、宜しくお願いします。 DataをtxtFileに書かせて、同じFileから読み込ませるコードですが、書き込みは正常に出来、(test1.txt)Fileも出来、内容もOKなのですが、同じFileからの読み込みがエラーになります。 一体どこが間違っているのでしょうか。 Fileは同じプロジェクトにおいています。(当然同一Fileからの読み込みです。) 諸兄の方々宜しくお願いします・・・正直泣いています。 public class Write_Read_070620{ public static void main(String args[]){ try{ PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("test1.txt"))); pw.println("Hello!!"); pw.println("Goodbye!!"); pw.close(); BufferedReader br0 = new BufferedReader(new FileReader("text1.txt")) ; String str0 = br0.readLine() ; System.out.println("入力データーを確認します\n" + " Team " + str0); br0.close(); } catch(IOException e){ System.out.println("入力エラ-です。\n "); } } }
- ベストアンサー
- Java
- Java・ファイルへの書き込み
はじめまして。 下記のプログラムで、以下の3つがどのような関係なのかがわかりません。 ("test1.txt")とnew FileWriterの関係 (new FileWriter("test1.txt")とnew BufferedWriterの関係 (new BufferedWriter(new FileWriter("test1.txt")と new PrintWriterの関係 どうかご教示いただきたく、よろしくお願い致します。 import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class Sample7 { public static void main(String[] args){ PrintWriter pw = null; try{ pw = new PrintWriter (new BufferedWriter(new FileWriter("test1.txt"))); pw.println("Hello!"); pw.println("GoodBye"); System.out.println("ファイルに書き込みました。"); }catch(IOException e){ System.out.println("入出力エラーです。"); }finally{ if(pw != null){ pw.close(); } } } }
- ベストアンサー
- Java
- javaのfile書込みについて
毎度お世話になります。 Q1)下記のコードに於きまして、16コラム毎にデーターの書込みを行なう様に 変更できますか? 即ち、書込みデーターが長ければ、その分だけブランク数を減らしまして、フォーマット を見やすくする。 ============================ void file_out(){ try{ File file = new File("c:\\TRSX700\\test.txt"); if (checkBeforeWritefile(file)){ FileWriter fw = new FileWriter(file); for(int j=0; j<8; j++){ for(int i=0; i<11; i++){ fw.write(String.valueOf(cndMSRdata[j][i])); fw.write(" "); } fw.write("\r\n"); } fw.close(); } else{ System.out.println("ファイルに書き込めません"); } } catch(IOException e){ System.out.println("IOException: "+e); } //====================================== } 以上、宜しくお願いします。
- ベストアンサー
- Java
- 例外処理についてお願いします!!
下のプログラミングについていくつか質問があります。 (1) プログラムの冒頭に来るpublic static void main(String[] args)を今まで気にしていなかったのですが これはどういうことですか?これもメソッドのひとつなんですか?このプログラムではpublic static void main(String[] args)でメソッドを定義してそれをetest( )メソッドで開いているという感じでしょうか? それとetstってどこから来たのかわかります?作者が勝手につけた名前だそうですが。 (2)FileReader fr = new FileReader("xfile.txt"); のところがわかりません。これはどういう意味ですか? public static void main(String[] args) { public static void etst( ) { try { // try節を書く FileReader fr = new FileReader("xfile.txt"); } catch (FileNotFoundException e) { // FileReader( )対応catch節 System.out.println("例外1: " + e); // 例外情報を表示 return; // 戻る } catch (IOException e) { // Close( )対応catch節 System.out.println("例外2: " + e); // 例外情報を表示 return; // 戻る } System.out.println("ファイルは正しくオープンされました"); } } } よろしくお願いします!!
- ベストアンサー
- Java
- Javaのプログラムについて教えてください!
BufferedWriterを使ってコマンドプロンプトから文字を入力して実行時に与えたパスのテキストに書き込んでいくプログラムをコーディングしてみたのですがなかなか上手くいきません。添削をお願いします。 import java.io.*; class BW{ public static void main(String[] args){ try{ File fl = new File("args[0]"); FileWriter fw = new FileWriter(fl); BufferedWriter bw = new BufferedWriter(fw); for(int i = 0;args[i]==null;i++){ bw.write(args[i]); bw.newLine(); } bw.flush(); bw.close(); }catch(IOException e){ e.printStackTrace(); } } }
- ベストアンサー
- Java
- throw文について
上と下のソースプログラムがよく似ているのにもかかわらず上記のプログラムでコンパイルエラー発生する理由がわかりません。 解決方法はpublic static void badMethod()throws IOException{に書き換えるということが分かっていますがイマイチ理屈が分からない次第であります。 たぶん、上記のプログラムはimport文があるからだと思うのですが回答のほどよろしくお願い致します。 (コンパイルエラー) import java.io.IOException; class TryCatch{ public static void main(String args[]){ try{ badMethod(); System.out.println("A"); } catch(IOException ex){ System.out.println("B"); } catch(Exception e){ System.out.println("C"); } System.out.println("E"); } public static void badMethod(){ throw new IOException(); } } (コンパイル正常) public class X{ public static void main(String args[]){ try{ badMethod(); System.out.println("A"); } catch(Exception ex){ System.out.println("B"); } finally{ System.out.println("C"); } System.out.println("D"); } public static void badMethod(){ throw new RuntimeException(); } }
- 締切済み
- Java
- お世話になります。
お世話になります。 java初心者です 簡単なプログラムがうまく動かなくて困ってます import java.io.*; class Lesson21{ public static void main(String args[]){ try{ //FileWriterオブジェクトの生成 FileWriter f_w = new FileWriter("Matrix.txt" , true); String matrix[] = {"エージェント","モーフィアス", "ネオ","トリニティ","ナイオビ"}; for(int i = 0; i < matrix.length; i++){ f_w.write(matrix[i] + "\n"); } System.out.println("書き込み完了"); //FileWriterのクローズ f_w.close(); } catch(IOException e){ System.err.println("Exception : " + e); } } } String matrix[] = {"エージェント","モーフィアス","ネオ","トリニティ","ナイオビ"}; この配列をf_w.write(matrix[i] + "\n");と書いているので改行してMatrix.txtに書きこめるはずなのですがデータとしてはMatrix.txtに改行なしで横につながります。 うまく改行さすにはどうすると宜しいのでしょうか だれか助けてください。 宜しくお願いします
- ベストアンサー
- Java
- テキストファイルに書きこむにはどうすれば・・・
ここまでできました。ソーのせます。かなり長いです⇓ 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に書きこむという内容です。 これ以上よっっっくわからなくてかなり途方にくれてます。 こうしたらいいとか解決策とかお願いします。
- ベストアンサー
- Java
- java ファイル操作
現在javaでファイル操作しファイルの文字列を検索したりファイルに文字列を追加したりする ものを作成しています。 現状のコードはこのような感じです。 class addresskensaku{ public static void main(String[] args)throws IOException{ System.out.println("数字を選択\n1.名前で検索\n2.年齢で検索\n3.出身地で検索\n4.追加"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); char res = str.charAt(0); //1が選択された場合 if(res == '1' || res == '1'){ System.out.println("名前を入力してください。"); BufferedReader fn = new BufferedReader(new InputStreamReader(System.in)); String str1 = fn.readLine(); try{ FileReader freader = new FileReader("addressdata.txt"); BufferedReader breader = new BufferedReader(freader); String tmp = null; //検索 System.out.println("検索結果 :"); while((tmp=breader.readLine())!=null){ String[] words = tmp.split(","); //部分一致 if(words[0].indexOf(str1) != -1){ System.out.println(tmp); } } breader.close(); }catch(IOException e){ System.out.println("e"); } } //2が入力された場合 if(res == '2' || res == '2'){ System.out.println("年齢を入力してください。"); BufferedReader o = new BufferedReader(new InputStreamReader(System.in)); String ol = o.readLine(); try{ FileReader freader = new FileReader("addressdata.txt"); BufferedReader breader = new BufferedReader(freader); String tmp =null; //検索 while((tmp=breader.readLine())!=null){ String[] words = tmp.split(","); //完全一致 if (ol.equals(words[1])){ // System.out.println("検索結果:"); System.out.println(tmp); } } breader.close(); }catch(IOException e){ System.out.println("e"); } } //3が入力された場合 if(res == '3' || res == '3'){ System.out.println("出身地を入力してください。"); BufferedReader p = new BufferedReader(new InputStreamReader(System.in)); String pref = p.readLine(); try{ FileReader freader = new FileReader("addressdata.txt"); BufferedReader breader = new BufferedReader(freader); String tmp = null; //検索 while((tmp=breader.readLine())!=null){ String[] words = tmp.split(","); //部分一致 if(words[2].indexOf(pref) != -1){ System.out.println(tmp); } } breader.close(); }catch(IOException e){ System.out.println("e"); } } //4が入力された場合 追加 if(res == '4' || res == '4'){ //氏名入力 System.out.println("氏名を入力してください。"); BufferedReader n = new BufferedReader(new InputStreamReader(System.in)); String str2 = n.readLine(); //年齢入力 System.out.println("年齢を入力してください。"); BufferedReader o = new BufferedReader(new InputStreamReader(System.in)); String str3 = o.readLine(); //住所入力 System.out.println("住所を入力してください。"); BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); String str4 = a.readLine(); //ファイルに書き込み try{ File file = new File("addressdata.txt"); FileWriter filewriter = new FileWriter(file, true); filewriter.write(str2+","+str3+","+str4+"\r\n"); filewriter.close(); }catch(IOException e){ System.out.println("e"); } } } } これをカプセル化し 各機能ごとにメソッドを分けて作ろうかなと思っています。 結果の出力はmainでやる予定です。
- 締切済み
- Java
お礼
ありがとうございます アプレット以外の他の方法を考えてみます