Hi all,
I have tried many things, but still can't pass third condition.
When I check my file or text passed by String it works like charm.
I would appreciate any help.
package com.codegym.task.task18.task1821;
/*
Symbol frequency
*/
import java.io.*;
import java.util.*;
public class Solution {
private static Map<Character, Integer> characterStatistic = new HashMap<>();
public static void main(String[] args) throws IOException {
String fileName = args[0];
//String testText = "aabzgHi9103;''aaaagABvza\n";
//StringReader stringReader = new StringReader(testText);
//BufferedReader fileReader = new BufferedReader(stringReader);
FileInputStream fileInputStream = new FileInputStream(fileName);
//BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
//char[] buffer = new char[1];
while(fileInputStream.available()>0){
//while(fileReader.read(buffer)>0){
//int character = buffer[0];
char character = (char)fileInputStream.read();
int count = characterStatistic.containsKey(character) ? characterStatistic.get(character) +1 : 1;
characterStatistic.put(character, count);
}
fileInputStream.close();
//fileReader.close();
Set<Character> charSet = new TreeSet<>(characterStatistic.keySet());
for(Character character : charSet){
System.out.format("%c %d \n", character, characterStatistic.get(character));
}
}
}