任务描述
本关任务:将给定的整数转化为字符,并使用 ByteArrayOutputStream 将其写入到给定文件中(字符为 a 的除外)。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,将给定的整数转化为字符,并写入到给定文件中(字符为 a 的除外),具体要求如下:
- 接收给定的一行字符串(如:/test/a.txt 96 97 98 99 %。字符串中 % 用于终止输入,整数为字节整数,剩下的为文件路径);
- 将整数转化为字符,并使用 ByteArrayOutputStream 将其写入到给定文件中(字符为 a 的除外)。
import java.io.*;
import java.util.Arrays;
import java.util.Scanner;
public class FileTest {
public static void main(String[] args) throws IOException {
// 请在此编写代码
/********** Begin **********/
// 接收给定数据,将字节整数转化为字符,
Scanner input = new Scanner(System.in);
String[] array = new String[100];
int i = 0;
while (!input.hasNext("%")){
array[i] = input.next();
i ++;
}
// 并使用ByteArrayOutputStream将其写入到给定文件中(字符为a的除外)
try (
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
FileOutputStream fileOutputStream = new FileOutputStream(array[0]);
){
for (int j = 1; j < i; j ++){
if (Integer.parseInt(array[j]) == 'a'){
continue;
}
byteArrayOutputStream.write(Integer.parseInt(array[j]));
}
byte[] bytes = byteArrayOutputStream.toByteArray();
fileOutputStream.write(bytes);
}
/********** End **********/
}
}