Я пытаюсь прочитать текстовый файл, а затем сохранить разделенное значение в массиве и распечатать все значение текстового файла. Но он не печатает значения.
Вот как отображается значение файла txt, как показано ниже:
"1675683811","590483002"
"2002199221","876015525"
Вот мой код:
String st;
BufferedReader Br = null;
File objFile = new File("C:\\DATA\\File.txt");
Br = new BufferedReader(new FileReader(objFile));
while ((st = Br.readLine()) != null) {
String value = st.replace("\"", "");
String[] arraylist = StringUtils.split(value, ",");
for (int i = 0; i <= 1; i++) {
System.out.println(arraylist[i]);
}
}
Br.close();
@Pshemo - Вы правы. С тех пор я не упомянул весь файл, в котором 60 столбцов. Для примера я предоставил только две колонки.




Может быть, попробуйте написать код, как показано ниже. Я изменил объявление разделения, а также способ отображения значений, потому что ваш способ может сделать исключение в arrayylist объектов:
String st;
BufferedReader Br = null;
File objFile = new File("C:\\data\\file.txt");
Br = new BufferedReader(new FileReader(objFile));
while ((st = Br.readLine()) != null) {
String value = st.replace("\"", "");
String[] arraylist = value.split(",");
for (String row : arraylist) {
System.out.println(row);
}
}
Br.close();
Небольшое изменение в вашем коде, вы можете просто использовать метод String.split, и ваш цикл for всегда будет генерировать исключение ArrayOutOfBound.
String st;
BufferedReader Br = null;
File objFile = new File("/Users/a602782/input.txt");
Br = new BufferedReader(new FileReader(objFile));
while ((st = Br.readLine()) != null) {
String value = st.replace("\"", "");
String[] arraylist = value.split(",");
for (int i = 0; i <arraylist.length; i++) {
System.out.println(arraylist[i]);
}
}
Br.close();
И если вы хотите напечатать каждую цифру в каждой строке, вы можете снова зациклить ее внутри цикла for
String st;
BufferedReader Br = null;
File objFile = new File("/Users/a602782/input.txt");
Br = new BufferedReader(new FileReader(objFile));
while ((st = Br.readLine()) != null) {
String value = st.replace("\"", "");
String[] arraylist = value.split(",");
for (int i = 0; i <arraylist.length; i++) {
System.out.println(arraylist[i]);
for (char c:arraylist[i].toCharArray()) {
System.out.println(c);
}
}
}
Br.close();
Не могли бы вы прояснить, что вы имеете в виду, говоря "Вот как отображается значение txt файла"? Вы имеете в виду, что ниже находится содержимое файла
File.txt? Если да, я не могу воспроизвести вашу проблему (я получаюArrayIndexOutOfBoundsException, посколькуi <= 59приведет кarraylist[2], который не является допустимым индексом для массива длиной 2).