本文共 3654 字,大约阅读时间需要 12 分钟。
????????????????????????????????????????????????????????????????????
InputStreamReader?Java?????????????????InputStream??????????Reader??????????????FileInputStream????InputStreamReader????????????
?????
import java.io.FileInputStream;import java.io.InputStreamReader;public class InputStreamReaderTest { public static void main(String[] args) throws Exception { // ??UTF-8??????? FileInputStream fis = new FileInputStream("message.txt"); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); char[] buffer = new char[1024]; int len; while ((len = isr.read(buffer)) != -1) { String str = new String(buffer, 0, len); System.out.println(str); } isr.close(); fis.close(); }} OutputStreamWriter????????????Writer??????????OutputStream?????????????????????????
?????
import java.io.FileOutputStream;import java.io OutputStreamWriter;public class OutputStreamWriterTest { public static void main(String[] args) throws Exception { // ?GBK?????????? FileOutputStream fos = new FileOutputStream("message_gbk.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK"); String content = "??GBK??"; osw.write(content.getBytes()); osw.close(); fos.close(); }} ???????????????????????????????????????????????????
???????????????????????????????????????
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io InputStreamReader;import java.io OutputStreamWriter;public class FileConvertTest { public static void main(String[] args) throws Exception { // ??UTF-8????? FileInputStream fis = new FileInputStream("message.txt"); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); char[] buffer = new char[1024]; int len; while ((len = isr.read(buffer)) != -1) { System.out.println(new String(buffer, 0, len)); } isr.close(); fis.close(); // ?????????GBK????? FileOutputStream fos = new FileOutputStream("message_gbk.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK"); osw.write("message".getBytes()); osw.close(); fos.close(); }} ???????IOException?????????????????try-catch-finally?????????????
public class SafeIO { public static void main(String[] args) throws Exception { try { // ???? FileInputStream fis = new FileInputStream("file.txt"); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); char[] buffer = new char[1024]; while ((len = isr.read(buffer)) != -1) { System.out.println(new String(buffer, 0, len)); } isr.close(); fis.close(); // ???? FileOutputStream fos = new FileOutputStream("new_file.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK"); osw.write("?????".getBytes()); osw.close(); fos.close(); } catch (IOException e) { e.printStackTrace(); } }} ????Java I/O?????????????????????????????????????????????????????????????????????????????????????????????????
转载地址:http://vuoq.baihongyu.com/