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

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

やさしいJava第二版のサンプルプログラムの改造

やさしいJava第二版のLesson9のサンプルプログラムを改造して、目的のプログラムを作ろうとしています。 Lesson9のSample5.javaを改造しているのですが、もともとあるサンプルではバイナリファイルの保存や読み書きをする際にダイアログが出てきて、場所やファイル名を指定しなければいけません。これを、プログラム中で元々ファイル名や場所を決めておき、プログラムを実行し数値を入力すると勝手にプログラム中で指定されてあるファイル名で、指定されている場所に保存するようにしたいんです。 なかなかうまくいかないので、どこをどのように変えたらいいのか教えてください。 ファイルの名前は何でもいいんですが、場所はクラスファイルがある場所にしたいです。

  • Java
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • 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

  • Java ファイルの保存名を予め表示したい

    Java初心者です、よろしくお願いします 今Javaでプログラムを作っているんですが ファイル保存時にセーブファイルダイアログに予め 「読み込んだファイル名の拡張子を変えたファイル名」 を表示させるような事は出来ないのでしょうか? showOpenDialog()でsample.datを読み込ませて showSaveDialog()で保存するときにはsample.txtが表示されていて 後は保存ボタンを押すだけ……のような形にしたいのですが FileFilter型のどこかにそのようなメソッドがあるのでしょうか?

    • ベストアンサー
    • Java
  • ダウンロード先指定プログラム

    こんにちは。 java言語を使ってシステム機能をプログラムしたいと思っています。 サイトからファイルなどのコンテンツをダウンロードしたときに、それを指定しておいたフォルダに自動的に保存するというようなシステムを作りたいと思っているのですがjava言語を始めたばかりでプログラミングに苦労しています。 この機能の参考になるようなサンプルソースやサイトなどなんでもいいのでお知りでしたら教えていただけますか。お願いします。

  • javaプログラムがコンパイルできない

    javaの勉強を始めようと思い、環境を作ってみました。 しかし、記念すべき第一作目のプログラムがコンパイルできなく、困っています;; 初心者で、説明もうまくないと思うので、補足要求をしていただければ幸いです。 【状況】 ・JDK6をダウンロード・インストールしました。 ・保存先は「C:\Program Files\Java\jdk1.6.0_14」です。 (この保存先は正しいのでしょうか。普通の人はどこに保存するのでしょうか。) ・コントロールパネル>システム>詳細設定>環境変数で、ユーザ環境変数で、 変数:PATH、値:C:\Program Files\Java\jdk1.6.0_14\bin を新規作成してみました。 ・サンプルプログラムを「C:\Program Files\Java」に保存しました。 (この保存先は正しいのでしょうか。普通の人はどこに保存するのでしょうか。) ・コマンドプロンプトでディレクトリを「C:\Program Files\Java」にして、「javac "(サンプルコードのファイル名)"」と実行しました。 ・「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません」 と言われてしましました。 お忙しいところ恐縮ですが、助けていただけると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Classファイル → Javaソースプログラム

    どーも、こんにちは。プログラミング初心者です。 現在Javaを使ってプログラムをしています。 JavaはJavaソースをコンパイルするとClassファイルが生成されるじゃないですか? では逆に、ClassファイルからもとのJavaソースプログラムに変換する(?)、取り戻すことはできないのでしょうか??? もしかして無理なのかもしれませんが、これが出来ないとどうしていいか分かりません。 どうしても、ソースプログラムが見たいClassファイルがあるのです。 そんな状態なので困っています。 どなたか少しでもご存知の方は、ご一報ヨロシクお願いします!!

    • ベストアンサー
    • Java
  • Javaなどを機械に埋め込むとは?

    Javaではなくて、他の言語でも良いのですが エレベーターなどをよくある言語で制御する仕組みがわかりません。 ばらばらと質問します。 機械をJavaで書いた通りに動かすには Javaと機械の中間に、Javaからの命令を翻訳する機械が必要だと思いました。 またJavaプログラムを保存しておく場所が必要だと思いました。 まず、この考え方であってますか? もう一つ、この翻訳する機械と、プログラムを保存しておくものは簡単に手に入りますか? イメージですが、 導線や基盤やハンダごてを使って これらの機械を繋いでJavaなどで制御できる機械を素人が自作できますか?

    • ベストアンサー
    • Java
  • OPENCVのサンプルプログラムについて

    OPENCVのサンプルプログラムに「peopledetect」というものがあり.exeファイルを実行してみたのですがすぐに消えてしまい。 あたらしく作ったファイルで実行してもUsage: peopledetect (<image_filename> | <image_list>.txt) と表示されるだけで人物認識をしません。 このサンプルプログラムの使い方を教えてもらえないでしょうか。 またどこかプログラムを変更する必要があるのならばそこを教えていただけないでしょうか・・・。 まず人物認識をするための画像を入れる場所もわかっていない状態です・・・。

  • JAVA 別のプログラムを操作する

    JAVA初心者です。 JAVAで、例えばsample1.classを実行すると、 sample2.javaがコンパイルされる・・・。 というような、実行すると他のプログラムをコンパイル するようなプログラムはどのように書けば良いでしょうか?? ご教授お願いいたします。

  • アップロードのサンプルプログラムありませんか?

    phpで営業日報システムを作成中です。 DBはpostgreSQLを採用しています。 日報を登録するときに添付ファイル機能をつけたいのですが 下記のことについてよくわからないのでサンプルプログラムがあれば 教えてもらえませんか? 疑問点 1.javaスプリクトでファイル容量をチェックして規定値以上なら   事前にチェックしたい。 2.アップロードファイルのパスとファイル名の文字の問題(日本語NG?) 3.具体的なソース 質問の意図がわかりにくいようでしたら再度補足しますのでよろしくお願いします

    • 締切済み
    • PHP
  • window7でjava言語でコンパイルできません

    初めまして、Java初心者で現在、環境変数の設定で困っております。 windows7を使用しております。 java -versionとバージョンを確認しました。 java version "1.6.0_20" などでて 環境変数をコンピュータのプロパティで システムの詳細設定でPATH=C:\Program Files (x86)\Java\jre6\bin と入力すると c:\Sample1>javac Sample1.java 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と出てしまいエラーが出てしまいコンパイルできません。環境変数が おかしいのかなと思うのですが質問の内容が稚拙で申し訳ないです。 どうぞ教えて下さい。

    • ベストアンサー
    • Java
  • 書籍「10日で覚えるjava入門教室」でいきなり分かりません。

    入門なのにいきなりつまづいてます(^^; javaプログラムとはあまり関係ないところかもしれませんが、 サンプルで制作させられたSampleD1L3.javaを、 C:\Java\Samples\D1 という感じでD1に保存し、 C:\Java\Samples\D1>javac SampleD1L3.java と MS-DOSプロンプト上で記入しても、 ”コマンドまたはファイル名が違います”となります。 気になる点はサンプルをメモ帳で制作しているのですが、 SampleD1L3.javaと保存してもSampleD1L3.java.txtと なり後で.txtを消すか、"SampleD1L3.java"として保存すると.txtが付かないとこちらのHPで発見したのですが、 そうするとサンプルのアイコンがルーズリーフのようなメモ帳からウィンドウズの旗のようなマークがついたアイコンに変わり、開くことができなくなってしまうことです。 どなたかご意見よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう