Java by API/java.io/OutputStreamWriter
Версия от 20:43, 31 мая 2010; (обсуждение)
Содержание
new OutputStreamWriter(OutputStream out, String charsetName)
<source lang="java">
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class MainClass {
public static void Converter(String input, String output) { try { FileInputStream fis = new FileInputStream(new File(input)); BufferedReader in = new BufferedReader(new InputStreamReader(fis, "SJIS")); FileOutputStream fos = new FileOutputStream(new File(output)); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(fos, "UTF8")); int len = 80; char buf[] = new char[len]; int numRead; while ((numRead = in.read(buf, 0, len)) != -1) out.write(buf, 0, numRead); out.close(); in.close(); } catch (IOException e) { System.out.println("An I/O Exception Occurred: " + e); } } public static void main(String args[]) { MainClass.Converter(args[0], args[1]); }
}
</source>
OutputStreamWriter: close()
<source lang="java">
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class Main {
public static void main(String[] args) { try { char[] chars = new char[2]; chars[0] = "\u4F60"; chars[1] = "\u597D"; String encoding = "GB18030"; File textFile = new File("C:\\temp\\myFile.txt"); OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(textFile), encoding); writer.write(chars); writer.close(); } catch (IOException e) { System.out.println(e.toString()); } }
}
</source>
OutputStreamWriter: write(char[] cbuf)
<source lang="java">
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class Main {
public static void main(String[] args) { try { char[] chars = new char[2]; chars[0] = "\u4F60"; chars[1] = "\u597D"; String encoding = "GB18030"; File textFile = new File("C:\\temp\\myFile.txt"); OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(textFile), encoding); writer.write(chars); writer.close(); } catch (IOException e) { System.out.println(e.toString()); } }
}
</source>
OutputStreamWriter: write(char[] cbuf, int off, int len)
<source lang="java">
import java.io.FileWriter; import java.io.IOException; public class Main {
public static void main(String args[]) throws IOException { String source = "test"; char buffer[] = new char[source.length()]; source.getChars(0, source.length(), buffer, 0); FileWriter f0 = new FileWriter("file1.txt"); for (int i = 0; i < buffer.length; i += 2) { f0.write(buffer[i]); } f0.close(); FileWriter f1 = new FileWriter("file2.txt"); f1.write(buffer); f1.close(); FileWriter f2 = new FileWriter("file3.txt"); f2.write(buffer, buffer.length - buffer.length / 4, buffer.length / 4); f2.close(); }
}
</source>