Самые редкие байты
Ввести с консоли имя файла.
Найти байт или байты с минимальным количеством повторов.
Вывести их на экран через пробел.
Закрыть поток ввода-вывода.
Требования:
1. Программа должна считывать имя файла с консоли.
2. Для чтения из файла используй поток FileInputStream.
3. В консоль через пробел должны выводиться все байты из файла с минимальным количеством повторов.
4. Данные в консоль должны выводится в одну строку.
5. Поток чтения из файла должен быть закрыт.
package com.javarush.task.task18.task1804;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
/*
Самые редкие байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fis = new FileInputStream(br.readLine());
List<Integer> list = new ArrayList<>();
HashMap<Integer, Integer> map = new HashMap<>();
while (fis.available() > 0) {
list.add(fis.read());
}
for (int i = 0 ; i < list.size(); i++) {
int data = Collections.frequency(list, i);
if (data == 0) {
map.put(list.get(i), data);
}
}
for (Map.Entry<Integer, Integer> pair : map.entrySet()) {
System.out.print(pair.getKey() + " ");
}
br.close();
fis.close();
}
}
package com.javarush.task.task18.task1804;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
/*
Самые редкие байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fis = new FileInputStream(br.readLine());
List<Integer> list = new ArrayList<>();
HashMap<Integer, Integer> map = new HashMap<>();
while (fis.available() > 0) {
list.add(fis.read());
}
for (int i = 0 ; i < list.size(); i++) {
int data = Collections.frequency(list, i);
if (data == 0) {
map.put(list.get(i), data);
}
}
for (Map.Entry<Integer, Integer> pair : map.entrySet()) {
System.out.print(pair.getKey() + " ");
}
br.close();
fis.close();
}
}