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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 倉促、尋找你 中级黑马   /  2014-2-14 20:14  /  1629 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. FileOutputStream fos = new FileOutputStream(“d:\\exam.txt”);
  2.   fos.write(“exam”);
  3.   fos.close();
复制代码

感觉没有错啊,怎么回事?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

5 个回复

倒序浏览
FileOutputStream 中的writer方法内参数只能是int 或byte等 不能是string
你可以改一下,         改成 FileWriter fw=new FileWriter("E:\\a.txt");

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
write方法能接收的参数是byte[] 或者int类型,所以更改为:fos.write("exam".getBytes());

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
你应该搞清楚IO流的体系:
1. 字节流: 主要用于操作二进值文件。
InputStream
OutputStream: FileOutputStream是这个类的子类,属于字节流,不能直接操作字符串。
2. 字符流 : 主要用于操作文本文件
Reader
Writer
3. 转换流: 将字节流转换为字符流方便操作
InputStreamReader
OutputStreamWriter
这是其基类,根据这些去jdk的开发文档中查吧。
希望对你有用,如有不妥,提出来交流,谢谢。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
咋一看没有错,但仔细看看write方法直接写的字符串,应将其转换成字节数组

QQ截图20140216122419.png (124.87 KB, 下载次数: 27)

QQ截图20140216122419.png

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 云行水边 于 2014-2-16 13:15 编辑

write方法只能接收int或byte型的数据,可以用getBytes[]方法更改成:fos.write("exam".getBytes());
即可

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马