File ftxt = new File("c:\1.txt"); 建立文本文件
BufferedWriter bufout = new BufferedWriter(new FileWriter(ftxt)); FileInputStream fin = new FileInputStream("c:\2.html");BufferedReader in = new BufferedReader(new InputStreamReader(fin,"utf-8"));如何指定1.txt文件为“utf-8”编码呢?

解决方案 »

  1.   


    /**
     * project_name: Test
     * package_name: CSDN_Test_20071126
     * package_declaration: package CSDN_Test_20071126;
     * filename: FileEncodingTest.java
     * author: yuhaiming
     * date: 2007-11-29
     */
    package CSDN_Test_20071126;
    import java.io.*;
    public class FileEncodingTest {
    public static void disposal(){
    try{
    String filename = "UTF-8test.txt";
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename),"UTF-8"));
    writer.write("测试我的UTF-8");
    writer.write("fdsafdsa");
    writer.close();
    }catch(Exception e){
    e.printStackTrace();
    }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    disposal();
    }}
      

  2.   

    一般来说使用
    BufferedWriter bw = new BufferedWriter(new FileWriter(file));
    进行写文件,写入的字符串是什么编码的,写进去就是什么编码。在读取时
    BufferedReader br = new BufferedReader(new FileReader(file));
    按照字符进行输出。上面使用UTF-8写,用UTF-8读这样未尝不可,但是如何字符串是GBK的编码时,
    虽然这样写和读都是可能进行操作,读出来也是正常的,但是存放在文件中的内
    容则是乱码,因为把GBK打散再拼成了UTF-8的编码。