欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java转换文件编码,java转换编码,依赖cpdetector

来源: javaer 分享于  点击 6125 次 点评:247

java转换文件编码,java转换编码,依赖cpdetector


依赖cpdetector开源库

[Java]代码

package com.myvnc.qyh.util;import info.monitorenter.cpdetector.CharsetPrinter;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.Writer;/** * @author root *  */public class FileCode {    // Input file name    private String inputFileName;    // The encoding when reading input file    private String inputFileCode;    // Output file name    private String outputFileName;    // The encoding when write to a file    private String outputFileCode;    /**     * @param args     */    public static void main(String[] args) {        // Convert file's encoding to 'utf8'.        write("c:/studio/test_file/test.txt", "utf8",                read("c:/studio/test_file/test.txt",                     guessEncoding("c:/studio/test_file/test.txt")));        // output new encoding        System.out.println(guessEncoding("c:/studio/test_file/test.txt"));        // output file's content         System.out.println(read("c:/studio/test_file/test.txt",                 guessEncoding("c:/studio/test_file/test.txt")));    }    /**     * @describe Guess the encoding of the file specified by filename      * @param filename     * @return the encoding of the file     */    public static String guessEncoding(String filename) {        try {            CharsetPrinter charsetPrinter = new CharsetPrinter();            String encode = charsetPrinter.guessEncoding(new File(filename));            return encode;        }catch(Exception e){            throw new RuntimeException(e);        }    }    /**     * @describe Read file with specified encode     * @param filename     * @param encoding     * @return the content of the file in the form of string     */    public static String read(String fileName, String encoding) {        String string = "";        try {            BufferedReader in = new BufferedReader(new InputStreamReader(                    new FileInputStream(fileName), encoding));            String str = "";            while ((str = in.readLine()) != null) {                string += str + "\n";            }            in.close();        } catch (Exception ex) {            ex.printStackTrace();        }        return string;    }    /**     * @describe write str to fileName with specified encode     * @param fileName     * @param encoding     * @param str     * @return null     */    public static void write(String fileName, String encoding, String str) {        try {            Writer out = new BufferedWriter(new OutputStreamWriter(                    new FileOutputStream(fileName), encoding));            out.write(str);            out.close();        } catch (Exception ex) {            ex.printStackTrace();        }    }    public String getInputFileName() {        return inputFileName;    }    public void setInputFileName(String inputFileName) {        this.inputFileName = inputFileName;    }    public String getInputFileCode() {        return inputFileCode;    }    public void setInputFileCode(String inputFileCode) {        this.inputFileCode = inputFileCode;    }    public String getOutputFileName() {        return outputFileName;    }    public void setOutputFileName(String outputFileName) {        this.outputFileName = outputFileName;    }    public String getOutputFileCode() {        return outputFileCode;    }    public void setOutputFileCode(String outputFileCode) {        this.outputFileCode = outputFileCode;    }}
相关栏目:

用户点评