zoukankan      html  css  js  c++  java
  • 41、使用字符流解决乱码问题

    字符流FileReader

    字符流FileReader主要用来读取字符的IO流,使用字符流读取文本文件可以解决乱码问题。

    package com.sutaoyu.IO;
    
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    
    public class IO_test_8 {
        public static void main(String[] args){
            FileReader fr = null;
            try {
                fr = new FileReader("word.txt");
                int temp;
                while((temp = fr.read()) != -1) {
                    System.out.println((char)temp);
                }
            }catch(FileNotFoundException e) {
                e.printStackTrace();
            }catch(IOException e) {
                e.printStackTrace();
            }
        }
    }

    使用缓冲流BufferedReader可以一次读取一行的文字:

    package com.monkey1024.chario;
    
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    
    public class FileReaderTest02 {
    
        public static void main(String[] args) {
            try (BufferedReader br = new BufferedReader(new FileReader("word.txt"));) {
                String s;
                //一次读取一行
                while ((s = br.readLine()) != null) {
                    System.out.print(s);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    字符流FileWriter

    使用FileWriter可以解决写出文本文件中文乱码的问题

    package com.sutaoyu.IO;
    
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class IO_test_10 {
        public static void main(String[] args) {
            FileWriter fw = null;
            try {
                fw = new FileWriter("netword.txt");
                fw.write("我洗喜欢学习java");
                fw.write(97);
            }catch(IOException e){
                e.printStackTrace();
            }
        }
    }

    使用BufferedWriter缓冲流写出文字

    package com.sutaoyu.IO;
    
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class IO_test_11 {
        public static void main(String[] args) {
            BufferedWriter bw = null;
            try {
                bw = new BufferedWriter(new FileWriter("netword.txt"));
                bw.write("我喜欢打篮球");
                bw.newLine();//换行
                bw.write("我喜欢踢足球");
                bw.flush();
            }catch(IOException e){
                e.printStackTrace();
            }
        }
    }

    使用字符流拷贝文件

    使用字符流拷贝文本文件可以避免文件中的内容乱码,需要注意的是字符流不能拷贝非文本文件,比如照片。

    package com.sutaoyu.IO;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class IO_test_12 {
        public static void main(String[] args) {
            BufferedReader br = null;
            BufferedWriter bw = null;
            try {
                bw = new BufferedWriter(new FileWriter("copyword.txt"));
                br = new BufferedReader(new FileReader("word.txt"));
                String s;
                while((s= br.readLine()) != null) {
                    bw.write(s);
                    bw.newLine();
                }
                bw.flush();
            }catch(IOException e) {
                e.printStackTrace();
            }
        }
    
    }
  • 相关阅读:
    在ASP.Net中两种利用CSS实现多界面的方法
    c# 添加图片水印,可以指定水印位置+生成缩略图[付上帅图1,2,3,4]
    精力有限,本博客暂停维护,转到www.80back.com(个人的小站)
    设计一个silverlight的Button控件silverlight(银光)学习(1)
    asp.net(c#)上传图片生成缩略图
    DataGrid和存储过程结合的分页,只读取当前页数据
    c#实现google样式的分页
    asp.net MD5加密函数(c#)
    执行JS
    LoadRunner常见问题
  • 原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10143315.html
Copyright © 2011-2022 走看看