6.ファイル入出力
はじめに
本大問で作成するプログラム(演習課題も含む)を保存するためのパッケージを作成する。
- パッケージ名
web._06
6-1
ファイルの読み取り
(あらかじめ「test01.txt」という名前のファイルを作成し、同プロジェクトの直下に置いておく。)
ファイルの内容を読み取り、画面表示する。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S61FileReader - 実装先メソッド
mainメソッド
【ファイル入力例1(1行の場合)】
テキストファイル「test01.txt」の入力例
今日はショッピング
【画面レイアウト1(1行の場合)】
今日はショッピング
【ファイル入力例2(複数行の場合)】
テキストファイル「test01.txt」の入力例
レモン
グレープフルーツ
小玉すいか
【画面レイアウト2(複数行の場合)】
レモン
グレープフルーツ
小玉すいか
【画面レイアウト3(IOException発生時)】
入出力エラーが発生しました。
【テストパターン】
考え方
・ファイルに書かれている内容が、適切に表示されるかどうか確認する。
・ファイルに、以下のものを含めてみる。
英数字、全角文字、記号、スペースなど
・ファイル内の行数を変えてみる。
5行以上、2〜3行、1行のみ、からっぽ
・ファイルを削除してみる、または、ファイル名を変えてみる。
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・夏の思い出
・Java Programming Lesson #1
・セール中! 19,800円
・春の思い出
夏の思い出
秋の思い出
冬の思い出
・(ファイル内の文字をすべて消去した状態で実行してみる)
・本日のパレードは
(空行)
~ 中央広場で、13:00開始 ~
(空行)
です!
【サンプルソースコード】
6-2
ファイルへの書き込み
(あらかじめ「test02.txt」という名前のファイルを作成し、同プロジェクトの直下に置いておく。)
プログラムを実行したら、ファイル「test02.txt」の中に「森のくまさん」と書き込む。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S62FileWriter - 実装先メソッド
mainメソッド
【画面レイアウト1(書き込み処理が正しく終了した時)】
ファイル書き込みを終了しました。
※プログラム実行後、ファイル「test02.txt」の内容を確認する。
森のくまさん
【画面レイアウト2(IOException発生時)】
入出力エラーが発生しました。
【テストパターン】
考え方
・プログラムで指定した文字列が、ファイルに書かれているかどうか確認する。
・ファイルに、以下のものを含めてみる。
英数字、全角文字、記号、スペースなど
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・夏の思い出
・Java Programming Lesson #1
・セール中! 19,800円
【サンプルソースコード】
6-3
ファイルへの書き込み(複数行)
(あらかじめ「test03.txt」という名前のファイルを作成し、同プロジェクトの直下に置いておく。)
プログラムを実行したら、ファイル「test03.txt」の中に、指定した複数行の文字列を書き込む。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S63FileWriter - 実装先メソッド
mainメソッド
【画面レイアウト1(書き込み処理が正しく終了した時)】
ファイル書き込みを終了しました。
※プログラム実行後、ファイル「test03.txt」の内容を確認する。
ミニトマト
ミニほうれんそう
ミニひょうたん
【画面レイアウト2(IOException発生時)】
入出力エラーが発生しました。
【テストパターン】
考え方
・プログラムで指定した文字列が、ファイルに書かれているかどうか確認する。
・ファイル内の行数を変えてみる。
5行以上、2〜3行、1行のみ、からっぽ
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・春の思い出
夏の思い出
秋の思い出
冬の思い出
・(プログラム中、文字列を何も指定しない状態で実行してみる)
・本日のパレードは
(空行)
~ 中央広場で、13:00開始 ~
(空行)
です!
【サンプルソースコード】
6-4
CSVファイルの読み取り
(あらかじめ「test04.csv」という名前のファイルを作成し、同プロジェクトの直下に置いておく。)
誕生日データを記録したCSVファイルの内容を読み取り、分かりやすく画面表示する。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
任意 - 実装先メソッド
mainメソッド
【画面レイアウト】
※テキストファイル「test04.csv」の入力例:
やまだ,1月29日
おおもり,10月18日
リチャード,6月3日
※プログラム実行時のコンソールの表示例:
やまださんの誕生日は1月29日です
おおもりさんの誕生日は10月18日です
リチャードさんの誕生日は6月3日です
【テストパターン】
考え方
・ファイルに書かれている内容が、適切に表示されるかどうか確認する。
・ファイル内の行数を変えてみる。
5行以上、2〜3行、1行のみ、からっぽ
・ファイルを削除してみる、または、ファイル名を変えてみる。
・1行のデータ項目数を変えてみる。
1項目のみ、3項目以上
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・ロバート,1月23日
スザンナ,3月15日
ジェフ,5月30日
7月9日,アイリーン
じゅんのすけ,11月11日
・ロバート,1月23日
スザンナ,3月15日,月曜日
ジェフ,5月30日
・5月30日
アイリーン,7月9日
じゅんのすけ,11月11日
【テスト仕様書・報告書】
本問題はこちらが用意したテスト仕様書・報告書を使ってテストする問題となっている。
テスト仕様書・報告書および作業内容はこちらを確認して、テストを実施すること。
6-5
CSVファイルへの書き込み
(あらかじめ「test05.csv」という名前のファイルを作成し、同プロジェクトの直下に置いておく。)
名前、誕生日を入力したら、その内容をCSVファイル(test05.csv)に保存する。
なお、名前もしくは誕生日に「q」 が入力された場合は、そこで入力を終了する。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
任意 - 実装先メソッド
mainメソッド
【画面レイアウト】
名前を入力
佐藤きりん
誕生日を入力
5月5日
名前を入力
青木かもしか
誕生日を入力
10月10日
名前を入力
福田ひらめ
誕生日を入力
3月3日
名前を入力
q
誕生日を入力
入力を終了します。
誕生日データをファイルに保存しました。
※プログラム実行後、ファイル「test05.csv」の内容を確認する。
佐藤きりん,5月5日
青木かもしか,10月10日
福田ひらめ,3月3日
【テストパターン】
考え方
・入力したものが、適切にファイルに保存されているかどうか確認する。
データ1件が1行になっているかどうか、1行がカンマ区切りで項目数だけ並んでいるかどうか、内容が正しいかどうか
・入力データ数を変えてみる。
5件以上、2〜3件、1件のみ、1件も入力せずに終了
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・名前1「ロバート」、誕生日1「1月23日」
名前2「スザンナ」、誕生日2「3月15日」
名前3「ジェフ」、誕生日3「5月30日」
名前4「アイリーン」、誕生日4「7月9日」
名前5「じゅんのすけ」、誕生日5「11月11日」
・名前1「ロバート」、誕生日1「1月23日」
名前2「3月15日」、誕生日2「スザンナ」
名前3「ジェフ」、誕生日3「5月30日」
・名前1「ジェフ」、誕生日1「5月30日」
名前2「」、誕生日2「7月9日」
名前3「じゅんのすけ」、誕生日3「11月11日」
Copyright © Xincor miXell Co., Ltd. All rights reserved