我正在尝试使用 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 文件时工作正常