下面这程序编译没有问题,但运行出现乱码:
import java.io.*;
public class 词库
{
public static void main(String args[]) throws IOException
{
String FileName="E:\\词库.txt";
DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream(FileName)));
String line=in.readLine();
while(line!=null)
{
System.out.println(line);
line=in.readLine();
}
in.close();
}
}在E盘创建了文本文件"词库.txt",当输出到屏幕时出现了乱码.请教!

解决方案 »

  1.   

    import java.io.*;
    public class test
    {
    public static void main(String args[])throws IOException
    {
    String filename="e:\\ciku.txt";
    BufferedWriter out=new BufferedWriter(new FileWriter(filename));
    out.write("わたし (0) [代] 我");
    out.newLine();
    out.write("会社員 (かいしゃいん) (3) [名] 公司职员");
    out.newLine();
    out.write("学生 (がくせい) (0) [名] 学生 (多指高等院校的学生)");
    out.close();
    BufferedReader in=new BufferedReader(new FileReader(filename));
    String line=in.readLine();
    while(line!=null)
    {
    System.out.println(line);
    line=in.readLine();
    }
    in.close();
    }
    }
    结果如下:
    わたし (0) [代] 我
    会社員 (かいしゃいん) (3) [名] 公司职员
    学生 (がくせい) (0) [名] 学生 (多指高等院校的学生)可是如果我想输出的内容很多呢?比如一个单词库,该怎么样实现呢?请叫!!
      

  2.   

    1 你的 E:\\词库.txt 是什么编码的?GBK 还是 UTF-8, 你的首先确定这个2 你的读取方法已经不推荐使用,请使用这个,注意修改其中的编码类型
    BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(FileName), "GBK"));
      

  3.   

    对,听java2000的没错!读文件一般都用bufferreader