黑马程序员技术交流社区

标题: java读入问题! [打印本页]

作者: 何创    时间: 2013-1-1 13:52
标题: java读入问题!
本帖最后由 何创 于 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中,但是会产生乱码问题,用其他什么方式来解决?让记事本的内容正常读进去??我改了很多次编码问题,都没有解决,求解!!!         

作者: 张会文    时间: 2013-1-1 14:36
  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. }
复制代码
你试试这个代码:

作者: 郝福明    时间: 2013-1-1 15:32
你存文本的格式改了没?java程序String content=new String(bytes,"UTF-8");改成ANSI试试

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

未命名.jpg

作者: 谢毅    时间: 2013-1-1 15:54
字节流默认是以GBK编码中文的,你后面用utf-8就出错了
作者: KJD    时间: 2013-1-1 16:35
用字符流
作者: 何创    时间: 2013-1-2 15:20
张会文 发表于 2013-1-1 14:36
你试试这个代码:

恩 好 我试试
作者: 何创    时间: 2013-1-2 15:20
郝福明 发表于 2013-1-1 15:32
你存文本的格式改了没?java程序String content=new String(bytes,"UTF-8");改成ANSI试试

恩  我试试看  谢谢
作者: 何竹冬    时间: 2013-1-3 15:05
你用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);

你试试,希望可以帮到你。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2