Здесь я читаю текстовый файл, который содержит целое число в каждой строке, и я печатаю все целые числа, которые появились более одного раза.Формат номера Исключение при чтении из текстового файла
Как вы можете видеть, я использовал Hash Map, и я назначил целые числа как Ключ и число вхождения числа в качестве значения.
Здесь я получаю исключение формата номера здесь. Кто-нибудь может мне с этим помочь?
package fileread;
import java.io.*;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// TODO code application logic here
HashMap<Integer, Integer> lines = new HashMap<Integer, Integer>();
try {
FileInputStream fstream = new FileInputStream("C:/Users/kiran/Desktop/text.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String str;
while ((str = br.readLine()) != null) {
Integer intObj = Integer.valueOf(str);
if (lines.containsKey(intObj)) {
int x = 0;
x = lines.get(intObj);
if (x == 2) {
System.out.println(intObj);
}
lines.put(intObj, x++);
} else {
lines.put(intObj, 1);
}
}
in.close();
} catch (Exception e) {
System.err.println(e);
}
}
}
Сообщение об исключении покажет, что он пытается проанализировать как целое. – hmjd
Необходим ли 'DataInputStream'? Может ли это быть причиной? –
@ nicholas.hauschild Да, что DataInputStream кажется ненужным. Вы должны иметь возможность передавать 'fstream' непосредственно в конструктор' BufferedReader'. –