为了账号安全,请及时绑定邮箱和手机立即绑定

有个IO流怎么也写不进去文件,麻烦各位大神帮忙看看是为什么。

有个IO流怎么也写不进去文件,麻烦各位大神帮忙看看是为什么。

慕容9145150 2018-03-30 10:37:46
import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.Scanner;/*从键盘接受多个int型的整数,直到用户输入end结束,       要求:把所有的整数按倒序写到D:\\number.txt中,(要求使用缓冲流)*/public class test03 { public static void main(String[] args) throws IOException { BufferedWriter bw = new BufferedWriter(new FileWriter("number.txt")); ArrayList<Integer> arry = new ArrayList<Integer>(); Scanner sc = new Scanner(System.in); while (true) { System.out.println("请输入你的数字"); int a = sc.nextInt(); arry.add(a); System.out.println("你要结束就按end,不然随便按~"); String c = sc.next(); if (c.equals("end")) { break; } } for (int a1 = arry.size(); a1 > 0; a1--) { Integer b = arry.get(a1 - 1); bw.write(b); bw.newLine(); bw.flush(); } bw.close(); }}题目在上面有写了,但是程序运行后我输入数字后在文档那里只看到框框里有个问号,请问是为什么,我自己输出了下数字也都是写入集合里面了,但为什么就是写不进去。但是如果在写入的b里面加入to.String又可以写入了,为什么一定要改为字符串?不能是数字吗。
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

Writer 是处理字符流的。

它的 write method 当参数是 int 时,会把这个整形值当作是字符编码来输出这个字符!  所以并不会把这个整形值格式化为字符串再输出。

而 write method 也可以接受 String 参数,这会把这个字符串输出。  所以用 toString method 将 b 的整形值转为字符串后就可以了。

查看完整回答
反对 回复 2018-03-30
  • 1 回答
  • 0 关注
  • 995 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号