【发布时间】:2014-11-11 12:56:22
【问题描述】:
ImageMagick 的原始 rgb 数据格式基本上是将一些整数作为 ascii 值保存到文件中。例如当它存储 42 并且我在简单的文本编辑器中打开日期时,我在该位置看到“*”(或 36->$ ...)。 我想将这些值读入 java 程序。我已经尝试过类似的方法:
br = new BufferedReader(new FileReader(fileName));
while ((sCurrentLine = br.readLine()) != null) {
for (int i=0;i<sCurrentLine.length();i++) {
char chr = sCurrentLine.charAt(i);
int ascii = (int) chr;
}
}
这样我可以按原样读取值,但是某些特定字符(例如换行符 (NL ascii:10) 或类似字符)存在问题。 有没有更好的方法来读取像二进制读取这样的文件?
【问题讨论】:
-
不要使用
readLine()。使用read()。但这看起来更像是字节而不是字符。所以你应该使用 InputStream。 -
@JBNizet
mmapedReader可能会更好。