0

我有一个文本文件,其中包含一些印地语字符和 ISO 8859-1 中的默认字符编码。我正在使用“FileInputStream”从该文件中读取数据,并使用“FileOutputStream”将数据写入另一个文本文件。

我的代码是:

    FileInputStream fis = new FileInputStream("D:/input.txt");
    int i = -1;
    FileOutputStream fos = new FileOutputStream("D:/outputNew.txt");
    while((i = fis.read())!= -1){
        fos.write(i);
    }
    fos.flush();
    fos.close();
    fis.close();

我没有在任何地方指定编码(“UTF-8”),但输出文件仍然具有正确的文本。它是如何发生的,我没有得到?

4

1 回答 1

8

它之所以有效,是因为您没有在程序中使用任何字符。您只是将原始字节从一个文件传输到另一个文件。如果您读取和写入字符,这将是一个问题,因为那时将使用编码将文件中的字节转换为字符,反之亦然。

于 2012-12-15T16:46:47.920 回答