Я пытаюсь понять это уже пару часов, и я надеюсь, что один из вас сможет мне помочь.У меня есть файл (на самом деле два, но это не важно), в котором есть несколько строк и столбцов с числами и пробелами между ними.И я пытаюсь прочитать те с BufferedReader.И это прекрасно работает.Я могу распечатать строки и символы, как я хочу.Но когда я пытаюсь проанализировать эти строки и символы, я получаю следующую ошибку:
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at FileProcess.processed(FileProcess.java:30)
at DecisionTree.main(DecisionTree.java:16)
Из того, что я нашел с помощью Google, я думаю, что ошибка заключается в том, как я читаю мой файл.
public class ReadFiles {
private BufferedReader read;
public ReadFiles(BufferedReader startRead) {
read = startRead;
}
public String readFiles() throws IOException {
try {
String readLine = read.readLine().trim();
String readStuff = "";
while(readLine != null) {
readStuff += (readLine + "\n");
readLine = read.readLine();
}
return readStuff;
}
catch(NumberFormatException e) {
return null;
}
}
И для разборного бита
public class FileProcess {
public String processed() throws IOException {
fileSelect fs = new fileSelect();
ReadFiles tr = new ReadFiles(fs.traning());
String training = tr.readFiles();
ReadFiles ts = new ReadFiles(fs.test());
String test = ts.readFiles();
List liste = new List(14,test.length());
String[] test2 = test.split("\n");
for(int i = 0; i<test2[0].length(); i++) {
char tmp = test.charAt(i);
String S = Character.toString(tmp).trim();
//int i1 = Integer.parseInt(S);
System.out.print(S);
}
Это не настоящий код для того, что я планирую делать с выводом, но ошибка появляется в закомментированном коде.Таким образом, мой вывод строки выглядит следующим образом:
12112211
Что кажется хорошим для анализа в целое число.Но это не работает.Я пытался вручную увидеть, что находится в положении char 0 и 1, для 0 я получаю 1, но для 1 я ничего не получаю ""
.Так как я могу удалить ""
?Я надеюсь, что вы, ребята, можете мне помочь, и дайте мне знать, если вам нужно больше информации.Но я думаю, что покрыл то, что нужно.
Заранее спасибо:)
Да, и еще одна вещь: если я заменю ""
на "0"
, это работает, но затем я получаю все те нули, которые я не могу найтиумный способ удалить.Но возможно ли пропустить их при разборе или что-то в этом роде?Мои файлы содержат только 1 и 2, поэтому это не помешает ничему, если это возможно.