日期:2014-05-20  浏览次数:20853 次

怎么用java 读取RTF文档
我用java读取RTF文档,读出来的汉字都是乱码

File fileIn = jfChooser.getSelectedFile();
  if (fileIn.exists()) {
  try {
  InputStreamReader is=new InputStreamReader(new FileInputStream(fileIn));
  System.out.println(is.getEncoding());
  BufferedReader in =new BufferedReader(is);
  RTFEditorKit m_kit=(RTFEditorKit)(f.getTextPanel().getEditorKit());
  DefaultStyledDocument m_doc=(DefaultStyledDocument)f.getTextPanel().getStyledDocument();
  m_kit.read(in, m_doc, 0);
  //String re = new String(m_doc.getText(0,m_doc.getLength()).getBytes("ISO8859_1"));
  f.getTextPanel().setDocument(m_doc);
  in.close();
  } catch (Exception ex) {
  System.out.println(ex.toString());
  }
我看别人的这段代码可以读出汉字,String re = new String(m_doc.getText(0,m_doc.getLength()).getBytes("ISO8859_1"));
这是为什么啊,那位大侠给个解决办法

------解决方案--------------------
不管是jsp还是文件,出现乱码的唯一原因就是:字符集编码不统一。
解决问题有两个:
1.统一字符集
2.对源汉字进行字符集转码