Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iso 8859 1 Can';t be:org.apache.commons.io.IOUtils中的错误?_Iso 8859 1_Apache Commons Io - Fatal编程技术网

Iso 8859 1 Can';t be:org.apache.commons.io.IOUtils中的错误?

Iso 8859 1 Can';t be:org.apache.commons.io.IOUtils中的错误?,iso-8859-1,apache-commons-io,Iso 8859 1,Apache Commons Io,为什么这两个代码块会产生不同的字节数组 Apache Commons IO 2.4: Charset iso_8859_1 = Charset.availableCharsets().get("ISO-8859-1"); return IOUtils.toByteArray(new FileReader(getResourceFile(filename)), iso_8859_1); JDK: 告诉我我看到了重影…尝试使用FileInputStream,因为无法使用FileReader指定字符

为什么这两个代码块会产生不同的字节数组

Apache Commons IO 2.4:

Charset iso_8859_1 = Charset.availableCharsets().get("ISO-8859-1");
return IOUtils.toByteArray(new FileReader(getResourceFile(filename)), iso_8859_1);
JDK:


告诉我我看到了重影…

尝试使用FileInputStream,因为无法使用FileReader指定字符集

IOUtils.toByteArray(new InputStreamReader(new FileInputStream(getResourceFile(filename)), "ISO-8859-1"), "ISO-8859-1")              

字符“é”似乎得到了不同的字节值…IOUtils给出了正确的0xE9值-jdk代码给出了2个字节:0xC3 0xA9,所以这可能是InputStreamReader或OutputStreamWriter中的错误-或者我完全遗漏了什么?误解了方法的javadoc-charset参数指定了字节数组应该如何表示角色,而不是如何从读者那里读。。。
IOUtils.toByteArray(new InputStreamReader(new FileInputStream(getResourceFile(filename)), "ISO-8859-1"), "ISO-8859-1")