• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:やさしいJava第二版のサンプルプログラムの改造)

やさしいJava第二版 サンプルプログラム改造: ファイルの自動保存と読み込み

このQ&Aのポイント
  • やさしいJava第二版のLesson9のサンプルプログラムを改造して、ファイルの自動保存と読み込みを実現したい。
  • 元々のサンプルプログラムでは、保存や読み込み時にダイアログが表示され、ファイル名や場所を指定する必要があるが、改造してプログラム中で事前に指定したファイル名に自動保存し、指定された場所に保存するようにしたい。
  • ファイル名は任意で、クラスファイルの場所に保存する仕組みを作りたい。どの部分を変更すればよいか教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • guest98
  • ベストアンサー率23% (4/17)
回答No.2

File fl = fc.getSelectedFile(); を、 File fl = New File(String pathname); などに変更して、変数flに任意のFileオブジェクトを 格納してあげれば、それ以降のソースはそのまま使えると思いますよ。

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/File.html
yumi12knct
質問者

お礼

お返事が大変遅れてしまいすみません!大変参考になるアドバイスありがとうございました。参照URLとアドバイスを元にちょっと考えてみます。ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • guest98
  • ベストアンサー率23% (4/17)
回答No.1

「やさしいJava第二版」が手元にないので、 ソースを載せて頂けませんか? 普通に考えれば、ダイアログの返り値を変数にセットすると思うのですが、そういうつくりであれば、 その変数に対して、固定値を入れてあげればよいのではないでしょうか。

yumi12knct
質問者

お礼

ソースを質問文に載せようとおもったのですが、文字数で制限があるらしく載せられませんでした。バイナリファイルに関するクラスファイルだけを抜粋してみました。不足でしたら、すみません。 ダイアログの返り値ですか、いじってみます! class SampleActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { JFileChooser fc = new JFileChooser(); fc.setFileFilter(new MyFileFilter()); try{ if(e.getSource() == bt1){ int res = fc.showOpenDialog(cnt); if(res == JFileChooser.APPROVE_OPTION){ File fl = fc.getSelectedFile(); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fl)); for(int i=0; i<tf.length; i++){ int num = bis.read(); tf[i].setText((new Integer(num)).toString()); } bis.close(); } } else if(e.getSource() == bt2){ int res = fc.showSaveDialog(cnt); if(res == JFileChooser.APPROVE_OPTION){ File fl = fc.getSelectedFile(); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fl)); for(int i=0; i<tf.length; i++){ int num =Integer.parseInt(tf[i].getText()); bos.write(num); } bos.close(); } } } catch(Exception ex){ ex.printStackTrace(); } } です。

すると、全ての回答が全文表示されます。

関連するQ&A