解答例 - 実習課題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();
}
}
}

