Java byte character conversion stream solves the problem of garbled characters in reading files

enter

package com.wowowo.io2;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

public class TestInputStreamReader {
    
    

	/**
	 * @param args
	 */
	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		
		//字节字符转换流
		//输入流  可以指定编码  使用这个流的时候一定要套接在基础流(字节流或字符流)
		
		File file=new File("d:/aa/2.txt");
		
		
		FileInputStream fileInputStream;
		try {
    
    
			//创建一个字节输入流
			fileInputStream = new FileInputStream(file);
			//创建一个字节字符转换流 (可以指定编码)
			InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream,"utf-8");
			//读取字符
			System.out.println((char)inputStreamReader.read());
			
			inputStreamReader.close();
			fileInputStream.close();
			
			
			
			
			
		} catch (FileNotFoundException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		

	}

}

output

package com.wowowo.io2;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;

public class TestOutputStreamWriter {
    
    

	/**
	 * @param args
	 */
	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		
		//字节字符转换流
		//输出流
		
		
		File file=new File("d:/aa/6.txt");
		
		try {
    
    
			FileOutputStream fileOutputStream=new FileOutputStream(file);
			
			OutputStreamWriter outputStreamWriter=new OutputStreamWriter(fileOutputStream,"utf-8");
			
			outputStreamWriter.write("你好吗");
			
			outputStreamWriter.close();
			
			fileOutputStream.close();
			
			
			
		} catch (FileNotFoundException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		

	}

}

Guess you like

Origin blog.csdn.net/Rockandrollman/article/details/130276397