InputStreamReader を使用してバイナリ ファイル (pdf、doc、zip) を読み込もうとしています。FileInputStream を使用してそれを達成し、ファイルの内容をバイト配列に保存しました。しかし、InputStreamReader を使用してそれを行うように求められました。たとえば、次を使用してpdfファイルを開いて読み取ろうとしているとき
File file = new File (inputFileName);
Reader in = new
InputStreamReader(new FileInputStream(file));
char fileContent[] = new char[(int)file.length()];
in.read(fileContent); in.close();
次に、このコンテンツを別のpdfファイルに保存します
File outfile = new File(outputFile);
Writer out = new OutputStreamWriter(new FileOutputStream(outfile));
out.write(fileContent);
out.close();
すべてうまくいきます (例外やエラーはありません) が、新しいファイルを開こうとすると、破損しているか、エンコーディングが間違っていると表示されます。
なにか提案を??
ps1特にInputStreamReaderを使用してこれが必要です
ps2 .txt ファイルを読み書きしようとすると正常に動作します