Ritesh Kaushik
Ritesh Kaushik

Reputation: 735

Java Character Encoding

I have a text file having some Hindi characters and my default character encoding in ISO 8859-1. I am using "FileInputStream" to read the data from that file and "FileOutputStream" to write data to another text file.

My code is:

    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();

I am not specifying encoding ("UTF-8") anywhere, but still the output file in having proper text.How it is happening , i am not getting?

Upvotes: 0

Views: 190

Answers (1)

JB Nizet
JB Nizet

Reputation: 691715

It's working because you don't use any char in your program. You're just transferring raw bytes from one file to another. It would be a problem if you read and wrote characters, because then an encoding would be used to transform the bytes in the files to characters, and vice-versa.

Upvotes: 8

Related Questions