A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何创 中级黑马   /  2013-1-1 13:52  /  2048 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 何创 于 2013-1-2 15:25 编辑

File f=new File("..."); FileInputStream fis=new FileInputStream(f);
byte[] bytes=new byte[(int)f.length()];
fis.read(bytes);
String content=new String(bytes,"UTF-8");
textArea.setText(content);

把记事本中的内容读入到JTextArea中,但是会产生乱码问题,用其他什么方式来解决?让记事本的内容正常读进去??我改了很多次编码问题,都没有解决,求解!!!         

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

7 个回复

倒序浏览
  1. import java.io.*;

  2. /**
  3. * 7、 编写程序拷贝一个文件, 尽量使用效率高的方式.
  4. * @author Sun
  5. *
  6. */
  7. public class Test7 {
  8.         private static BufferedWriter ww;
  9.         private static BufferedReader dd;

  10.         public static void main(String[] args) throws IOException {
  11.                 File d=new File("D:\\123.txt");
  12.                 d.createNewFile();
  13.                 dd = new BufferedReader(new FileReader("D:\\a.txt"));
  14.                 ww = new BufferedWriter(new FileWriter(d));
  15.                 String s;
  16.                 while((s=dd.readLine())!=null){
  17.                         ww.write(s);
  18. //               
  19.                 }
  20.                 System.out.print("拷贝完成!");
  21.         }

  22. }
复制代码
你试试这个代码:

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你存文本的格式改了没?java程序String content=new String(bytes,"UTF-8");改成ANSI试试

未命名.jpg (60.73 KB, 下载次数: 35)

未命名.jpg
回复 使用道具 举报
字节流默认是以GBK编码中文的,你后面用utf-8就出错了
回复 使用道具 举报
用字符流
回复 使用道具 举报
张会文 发表于 2013-1-1 14:36
你试试这个代码:

恩 好 我试试
回复 使用道具 举报
郝福明 发表于 2013-1-1 15:32
你存文本的格式改了没?java程序String content=new String(bytes,"UTF-8");改成ANSI试试

恩  我试试看  谢谢
回复 使用道具 举报
你用utf-8编码然后默认解码方式所以会出错了。
就用默认编码方式好了。
File f=new File("..."); FileInputStream fis=new FileInputStream(f);
byte[] bytes=new byte[(int)f.length()];
fis.read(bytes);
String content=new String(bytes);
textArea.setText(content);

你试试,希望可以帮到你。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马