Класс OutPutStreamWriter в Java
OutPutStreamWriter записывает символы в выходной поток, переводя символы в байты в соответствии с указанной кодировкой символов. Каждый OutputStreamWriter имеет собственный CharToByteConverter и, таким образом, является мостом от потоков символов к потокам байтов.
OutputStream os = new FileOutputStream("d:\\test.txt"); Writer osr = new OutputStreamWriter(os);
Персонажи, написанные на нем, кодируются в байты с использованием указанной кодировки. Кодировка, используемая OutputStreamWriter, может быть указана по имени, путем предоставления CharToByteConverter или путем принятия кодировки по умолчанию, которая определяется файлом system.encoding. Он имеет альтернативные конструкторы, которые позволяют вам указать набор символов (например: ISO-Latin1, UTF-8, UTF-16 и т. Д.), Чтобы использовать для преобразования написанных символов в байты, записанные в базовый OutputStream.
Пример
import Java.util.*; import Java.io.*; public class TestClass{ public static void main( String[] args ){ try { OutputStream os = new FileOutputStream("d:\\test.txt"); Writer osr = new OutputStreamWriter(os); osr.write("Java Stream handling !!"); osr.close(); } catch (IOException e) { e.printStackTrace(); } } }
import Java.util. *; import Java.io. *; открытый класс TestClass { public static void main (String [] args) { пытаться { OutputStream os = new FileOutputStream ("d: \\ test.txt"); Writer osr = new OutputStreamWriter (os); osr.write («Обработка потока Java!»); osr.close(); } catch (IOException e) { e.printStackTrace(); } } }
Когда вы используете Reader / Writer и когда поток?
- Если вы имеете дело с символами Unicode, отличными от ASCII, например. Если вы работаете с двоичными данными (например, с изображением), используйте Streams.
- Если вы имеете дело с обычным текстом ASCII (традиционные 0-127 символов ) вы также можете использовать.
Источник: http://net-informations.com/Java/files/oread.htm