【发布时间】:2016-08-19 15:07:12
【问题描述】:
该程序生成 50 个介于 1 到 100 之间的随机数,并将输出写入 fileresult.txt 中。
FileWriter outputChar = new FileWriter(new File ("fileresult.txt"));
Random random = new Random();
for(int i = 1 ; i <= 50 ; i++){
int min = 1;
int max = 100;
int number = random.nextInt(max - min + 1) + min;
outputChar.write(number);
}
outputChar.close();
问题是输出的不是整数值,而是很多汉字。为什么会这样?
【问题讨论】:
-
您正在写入原始字节,如果您想要 ascii 整数值,请使用
PrintStream。 -
@ElliottFrisch 或使用
outputChar.write(String.valueOf(number) + "\n");进行最少的重写。 -
@ElliottFrisch 实际上我正在使用 char-stream 和 byte-stream 进行比较。上面的代码用于 char-stream 部分。仅供参考,我还得到了奇怪的字符作为输出字节流部分。我希望您能详细说明 char 流和字节流,以及它们与 ascii 值和原始字节的关系......我有点难以理解这个概念。
标签: java random filewriter