码迷,mamicode.com
首页 > 其他好文 > 详细

40、使用字节流读取文件乱码问题

时间:2018-12-19 15:43:58      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:fileinput   try   main   com   一个   学习   word   bsp   \n   

写出中文

向txt文件中写出中文,通过下面代码的演示,因为一个中文占2个字节,所以按照字节写出中文时会出现乱码的情况。

package com.sutaoyu.IO;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class IO_test_6 {
    public static void main(String[] args) {
        FileOutputStream fos = null;
        try{
            fos = new FileOutputStream("word.txt");
            String msg = "好好学习";
            //fos.write(msg.getBytes());
            //每次写出3个字节,因为一个中文占用2个字节,所以导致乱码
            fos.write(msg.getBytes(),0,3);
            //换行
            fos.write("\r\n".getBytes());
            fos.write("天天向上".getBytes());
            fos.flush();
        }catch(FileNotFoundException e) {
            e.printStackTrace();
        }catch(IOException e) {
            e.printStackTrace();
        }
    }
}

读取中文

从txt文件中读取文件,下面代码也出现了乱码问题

package com.sutaoyu.IO;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class IO_test_7 {
    public static void main(String args) throws IOException {
        FileInputStream fis = null;
        try {
            fis = new FileInputStream("word.txt");
            byte[] arr = new byte[3];
            int temp;
            while((temp = fis.read(arr)) != -1) {
                System.out.println(new String(arr,0,temp));
            }    
        }catch(FileNotFoundException e) {
            e.printStackTrace();
        }catch(IOException e) {
            e.printStackTrace();
        }
    }
}

 

40、使用字节流读取文件乱码问题

标签:fileinput   try   main   com   一个   学习   word   bsp   \n   

原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10143010.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!