To write text files in the ISO-8859-5 encoding, we will use the OutputStreamWriter
class in Java’s java.io
package. Here’s an example code snippet that demonstrates this:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
public class ISO88595Writer {
public static void main(String[] args) {
String filePath = "path/to/output/file.txt";
String content = "Привет, мир!"; // Russian text
try (FileOutputStream fos = new FileOutputStream(filePath);
OutputStreamWriter writer = new OutputStreamWriter(fos, Charset.forName("ISO-8859-5"))) {
writer.write(content);
writer.flush();
System.out.println("File written successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
In the above code, we create a FileOutputStream
to write the content to a file specified by filePath
. We then create an OutputStreamWriter
and pass the FileOutputStream
object as well as the Charset
object for “ISO-8859-5” encoding. We write the content to the file using the write
method of the OutputStreamWriter
and flush it to ensure the content is written properly.
To read text files encoded in ISO-8859-5, we can use the InputStreamReader
class in a similar manner:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
public class ISO88595Reader {
public static void main(String[] args) {
String filePath = "path/to/input/file.txt";
try (FileInputStream fis = new FileInputStream(filePath);
InputStreamReader reader = new InputStreamReader(fis, Charset.forName("ISO-8859-5"))) {
StringBuilder content = new StringBuilder();
char[] buffer = new char[1024];
int length;
while ((length = reader.read(buffer)) != -1) {
content.append(buffer, 0, length);
}
System.out.println("File content: " + content.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
In the above code, we create a FileInputStream
to read the file specified by filePath
. We then create an InputStreamReader
and pass the FileInputStream
object as well as the Charset
object for “ISO-8859-5” encoding. We read the content from the file using the read
method of the InputStreamReader
and append it to a StringBuilder
.
Using the above code snippets, you can easily write and read text files in the ISO-8859-5 encoding in Java. This can be useful when dealing with Cyrillic alphabets or when working with systems that require the ISO-8859-5 encoding.
#Java #CharacterEncoding