解答例 - 実習課題4 - 2.バイナリファイルの入出力
(実習課題4)
以下のプログラムを作成しなさい。
- プログラムの実行時に指定したファイルを読み込み、その内容をコンソールに表示する事。
- 3文字読み込んでは、2文字戻すようにする事。
解答例
/** * FileViewerExample.java * TECHSCORE Java 入出力2章 実習課題4 * * Copyright (c) 2004 Four-Dimensional Data, Inc. */ package com.techscore.io.chapter2.exercise4; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.PushbackReader; public class FileViewerExample { public static void main(String[] args) { if (args.length == 0) { System.out.println("引数にファイル名を指定してください"); System.exit(0); } try { PushbackReader reader = new PushbackReader(new FileReader(args[0]), 8); char buf[] = new char[3]; int len; //3文字ずつ読み込む while ((len = reader.read(buf)) != -1) { for (int i = 0; i < len; i++) { System.out.print(buf[i]); } System.out.println(); //3文字読み込めた場合は2文字戻る if (len == 3) { reader.unread(buf, 1, 2); } } reader.close(); } catch (FileNotFoundException e) { System.out.println("指定されたファイルが見つかりません"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }