黑马程序员技术交流社区

标题: io流中的问题? [打印本页]

作者: HM刘俊    时间: 2013-4-3 16:13
标题: io流中的问题?
本帖最后由 HM刘俊 于 2013-4-3 23:08 编辑
  1. import java.io.*;
  2. class demo{
  3. public static void main(String[] args)throws Exception{
  4. FileWriter fg=new FileWriter("C:\\hhhh.txt");
  5. BufferedWriter fd=new BufferedWriter(fg);
  6. fd.write("ajklsssfdfs");
  7. fd.flush();
  8. fd.close();
  9. FileReader kk=new FileReader("C:\\kkk.txt");
  10. BufferedReader hj=new BufferedReader(kk);

  11. System.out.println(hj.readLine()); //我知道这里readLine方法是打印一行的意思。问题是当把它改为read方法时,打印的为什么是一串数字。??
  12. hj.close();

  13. }
  14. }
复制代码
我C:\\kkk.txt输入的是一首中文诗。。。
当用read方法打印为:38738
什么情况?
作者: 黄小贝    时间: 2013-4-3 16:24


作者: 赵晓东    时间: 2013-4-3 16:50
read返回类型是int

QQ截图20130403164438.png (30.26 KB, 下载次数: 24)

QQ截图20130403164438.png

作者: pthuakai    时间: 2013-4-3 16:56
一般来说,编译后生成的都是二进制码,你要是想读出来,必须转换类型的
作者: HM刘俊    时间: 2013-4-3 17:16
发表于 18 分钟前 |只看该作者
一般来说,编译后生成的都是二进制码,你要是想读出来,必须转换类型的

怎么个转换法??
作者: 庞立森    时间: 2013-4-3 17:36
read()方法返回值是int类型的,所以你输出肯定是数字,
你必须把它转化成字符在输出,
代码如下,希望对你有所帮助

import java.io.*;
class demo{
public static void main(String[] args)throws Exception{
FileWriter fg=new FileWriter("C:\\hhhh.txt");
BufferedWriter fd=new BufferedWriter(fg);
fd.write("ajklsssfdfs");
fd.flush();
fd.close();
FileReader kk=new FileReader("C:\\kkk.txt");
BufferedReader hj=new BufferedReader(kk);
StringBuffer sb=new StringBuffer();//创建一个StringBuffer用于操作字符串
int count=-1;//定义一个count变量用于接收hj.read()方法的返回值
while((count=hj.read())!=-1)
{
        sb.append(new String((char)count));//调用append()放法,把内容存到sb里面,(char)count把int;类型转化成字符类型
}
System.out.println(sb.toString());
hj.close();

}
}
作者: 田磊阳    时间: 2013-4-3 22:17
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
作者: HM刘俊    时间: 2013-4-3 23:18
庞立森 发表于 2013-4-3 17:36
read()方法返回值是int类型的,所以你输出肯定是数字,
你必须把它转化成字符在输出,
代码如下,希望对你 ...

按照你的代码,我输入了。还是不能转换?
错误提示:
demo.java:15: 找不到符号
符号: 构造函数 String(char)
位置: 类 java.lang.String
        sb.append(new String((char)count));//调用append()放法,把内容存到sb
,(char)count把int;类型转化成字符类型
作者: 庞立森    时间: 2013-4-4 08:47
希望你把代码发出来
作者: HM刘俊    时间: 2013-4-4 10:59
庞立森 发表于 2013-4-4 08:47
希望你把代码发出来

就是你的那段代码呀。




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