java按指定编码写入和读取文件内容的类

转载 2015年07月10日 14:58:51

可以指定编码如:utf-8来写入和读取文件。如果文件编码未知,可以通过该方法先得到文件的编码后再指定正确的编码来读取,否则会出现文件乱码问题。

如何识别文件编码请参考:java自动根据文件内容的编码来读取避免乱码  通过cpdetector这个开源的jar包可以自动判断当前文件的内容编码

  1. package com.zuidaima.util;  
  2.   
  3. import java.io.BufferedReader;  
  4. import java.io.BufferedWriter;  
  5. import java.io.File;  
  6. import java.io.FileInputStream;  
  7. import java.io.FileOutputStream;  
  8. import java.io.IOException;  
  9. import java.io.InputStreamReader;  
  10. import java.io.OutputStreamWriter;  
  11.   
  12. public class ReadWriteFileWithEncode {  
  13.   
  14.     public static void write(String path, String content, String encoding)  
  15.             throws IOException {  
  16.         File file = new File(path);  
  17.         file.delete();  
  18.         file.createNewFile();  
  19.         BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(  
  20.                 new FileOutputStream(file), encoding));  
  21.         writer.write(content);  
  22.         writer.close();  
  23.     }  
  24.   
  25.     public static String read(String path, String encoding) throws IOException {  
  26.         String content = "";  
  27.         File file = new File(path);  
  28.         BufferedReader reader = new BufferedReader(new InputStreamReader(  
  29.                 new FileInputStream(file), encoding));  
  30.         String line = null;  
  31.         while ((line = reader.readLine()) != null) {  
  32.             content += line + "\n";  
  33.         }  
  34.         reader.close();  
  35.         return content;  
  36.     }  
  37.   
  38.     public static void main(String[] args) throws IOException {  
  39.         String content = "中文内容";  
  40.         String path = "c:/test.txt";  
  41.         String encoding = "utf-8";  
  42.         ReadWriteFileWithEncode.write(path, content, encoding);  
  43.         System.out.println(ReadWriteFileWithEncode.read(path, encoding));  
  44.     }  
  45. }  
  46.   
  47.                       

Java文件流 编码问题 - 读取文件时指定字符编码

折磨了一天的问题,终于在黄昏的时候解决了,现在一吐为快。       众所周知,java的中文问题一直是一个老大难的问题,这个现象可以在csdn中java论坛里关于中文乱码的提问率就可以了...
  • DENGZHUYU
  • DENGZHUYU
  • 2013年09月29日 08:59
  • 1578

java按指定编码写入和读取文件内容的类

可以指定编码如:utf-8来写入和读取文件。如果文件编码未知,可以通过该方法先得到文件的编码后再指定正确的编码来读取,否则会出现文件乱码问题。 如何识别文件编码请参考:java自动根据文件内容的编码...
  • youyou_yo
  • youyou_yo
  • 2015年08月29日 21:06
  • 386

Java如何实现按指定行读取文件

最近在开发实战中,遇到了一个这样的技术情景:     把log4j生成的日志文件定时刷进MySQL数据库,比如三个小时刷一次,那么每次刷数据的时候,如何控制文件读取是从上一次文件读取结束的地方开始继...
  • u013339851
  • u013339851
  • 2014年07月26日 15:04
  • 4401

java读取、写入(读写)txt文件中文乱码问题(相对应编码)及修改eclipse默认编码

java读取、写入(读写)txt文件中文乱码问题(相对应编码)
  • u010343388
  • u010343388
  • 2014年11月24日 00:18
  • 5536

java读取文件并获得文件编码,转换为指定编码的工具类代码

原文:java读取文件并获得文件编码,转换为指定编码的工具类代码 源代码下载地址:http://www.zuidaima.com/share/1902677591215104.htm ...
  • yaerfeng
  • yaerfeng
  • 2017年02月20日 09:50
  • 1344

java中读取文件时应该采用什么编码

Java读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new Strin...
  • congcongsuiyue
  • congcongsuiyue
  • 2014年12月26日 17:38
  • 666

Java 文本文件读写工具类

下面的TextFile类包含static 方法可以像简单字符串那样读写文本文件,并且可以创建一个TextFile对象,它用一个ArrayList来保存文件的若干行。 package io; imp...
  • luming_xml
  • luming_xml
  • 2016年05月09日 10:30
  • 947

在文件指定位置读取和写入内容RandomAccessFile

RandomAccessFile是属于随机读取类,是可以对文件本身的内容直接随机进行操作的,可以在文件的指定位置 的读取和写入内容,这在很多时候都是很方便的。 import java.io.IOE...
  • zylzb
  • zylzb
  • 2014年10月27日 17:32
  • 1565

使用JAVA读取和写入EXCEL文件

首先要下载 poi包和jxl包 读取部分: import java.io.BufferedInputStream; import java.io.File; import java.io.File...
  • u010634066
  • u010634066
  • 2014年12月26日 12:38
  • 7242

文件编码和RandomAccessFile文件流的使用--IO学习笔记(一)

文件编码UTF-8编码:中文占用3个字节,英文占用1个字节 GBK编码:中文占用2个字节,英文占用1个字节 UTF-16BE编码:中文占用2个字节,英文占用两个字节注意:其中UTF-16BE编码是...
  • u013991521
  • u013991521
  • 2015年08月06日 13:58
  • 2290
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java按指定编码写入和读取文件内容的类
举报原因:
原因补充:

(最多只允许输入30个字)