• Java文件读写详解。 附txt乱码问题, html乱码问题


    先看代码

     1 public class FileReader {
     2     public static String readFile(String fileName) {
     3         String fileContent = "";
     4         try {
     5             File f = new File(fileName);
     6             if (f.isFile() && f.exists()) {
     7                 InputStreamReader read = new InputStreamReader(
     8                         new FileInputStream(f), "gbk");
     9                 BufferedReader reader = new BufferedReader(read);
    10                 String line;
    11                 while ((line = reader.readLine()) != null) {
    12                     fileContent += line;
    13                 }
    14                 read.close();
    15             }
    16         } catch (Exception e) {
    17             e.printStackTrace();
    18         }
    19         return fileContent;
    20     }
    21 }

    这里有几个比较重要的对象

    File    定义文件路径

    InputStreamReader    File与BufferReader的桥梁

    BufferReader             内存数据与InputStreamReader的桥梁

    简单来说就是File先给出了文件路径

    之后通过InputStreamReader将文件读取到内存块中,但是此时离真正可用的内存数据还有一步,需要借用BufferReader的readline方法

    于是将InputStreamReader与BufferReader绑定,则可以新的BufferReader对象将数据写入到内存中

    同理于写文件

     1 public class FileWriter {
     2     public static void writeFile(String fileName, String fileContent) {
     3         try {
     4             File f = new File(fileName);
     5             if (!f.exists()) {
     6                 f.createNewFile();
     7             }
     8             OutputStreamWriter write = new OutputStreamWriter(
     9                     new FileOutputStream(f), "gbk");
    10             BufferedWriter writer = new BufferedWriter(write);
    11             writer.write(fileContent);
    12             writer.close();
    13         } catch (Exception e) {
    14             e.printStackTrace();
    15         }
    16 
    17     }
    18 }

    此外有时我们会遇到读取的文件是乱码的情况

    这是因为所选择的编码方式于文件的编码格式不符合,如此只要修改InputStreamReader中的编码参数就可以了

    当我们写一个html文件时,有时也会出现乱码的问题

    虽然我们写入时并非乱码,但用html打开时就是乱码,这个问题的原因是html通常用utf-8来打开,如果用gbk或其他格式保存,则以html格式打开时会显示乱码

    以上

  • 相关阅读:
    shell脚本:/bin/sh^M: bad interpreter: No such file or directory。(转)
    Buffer在JDK中的基本说明

    清除版本控制信息针对 SVN
    修改——对密码进行加密
    省市加载javascript
    visual studio 2010 中 javascript 提示文本
    折腾自己的博客样式,自适应两列布局
    给动态加载的图片添加延迟加载(附在线demo)
    44种IE css bug实例测试总结(转载)
  • 原文地址:https://www.cnblogs.com/Raymond-Yang/p/4253768.html
Copyright © 2020-2023  润新知