我遇到使用FileOutputStream.write的问题。我想它不允许我使用String写入文件,所以我尝试将字符串更改为原始数据类型Byte []。现在,当我尝试将其打印出来时,使用以下for循环,它会输出结果,输入的次数是输入的长度。
假设我有21345,而不是只打印出21345,如果打印出来的话:
21345
21345
21345
21345
21345
for(int a=0; a<machineWord.length(); a++){
byte[] input = machineWord.getBytes();
out.write(input);
}
编辑:我正在将Byte作为数组读取,所以我认为我必须循环遍历Byte上的每个位置,以输出代码。我刚刚删除了解决问题的for循环。
答案 0 :(得分:0)
因为你循环遍历字符串中的每个字符并且每次都将String写入文件。 getBytes()
方法返回String的byte[]
数组表示。你只需要写一次。
// write the String to the file.
out.write(machineWord.getBytes());