package io;
import java.io.*;
import java.util.Scanner;
public class Exercise17_16 {
public static void main(String[] args) throws IOException {
Scanner input = new Scanner(System.in);
int[] frequency = new int[128];
System.out.print("Enter an ASCII file: ");
File file = new File(input.nextLine());
if (!file.exists()) { //文件不存在时,创建ascii文件
try(ObjectOutputStream outputStream = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(file)))) {
for (int i = 0; i < 128; i++)
outputStream.writeUTF((char)((int)(Math.random() * 128)) + "");
}
}
//创建输入流计数字符
try(ObjectInputStream inputStream = new ObjectInputStream(new BufferedInputStream(new FileInputStream(file)))) {
try {
while (true)
frequency[(int)inputStream.readUTF().charAt(0)]++;
} catch (Exception ex) {
}
}
//输出字符出现的频率
for (int i = 0; i < frequency.length; i++) {
System.out.print((char)i + " " + frequency[i] + " ");
if ((i + 1) % 10 == 0)
System.out.println();
}
}
}