У меня проблема с зацикливанием выбросить массив файлов
это код
код для чтения
public static ArrayList<String> readData(int colNo) {
Scanner sca;
try {
sca = new Scanner(new File("txt1.txt"));
while(sca.hasNext()) {
String data=sca.next();
String[] value=data.split(",");
System.out.println(value[colNo]);
}
sca.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
изображение, показывающее, как это будет работать
введите описание изображения здесь
и это главное
public static void main(String[] args) {
ArrayList<String> Firstrow=readData(0);
for( int i=0; i<Firstrow.size();i++) {
System.out.println(Firstrow);
}
}
это как формат данных при чтении файла
jon, 1266 $, level5 Smith, 1060 $, level3 rony, 1686 $, level6
, и когда вы запускаете код в man и вызываете первую строку, он должен выглядеть как
Джон Смит Рони
так что, когда он дойдет до, он остановится и скажет о первом, я знаю, что есть способ исправить это, как сохранить чтение в массиве, но я не знаю, как это сделать
Мне кажется, что метод чтения не является правильным способом сделать это?
Я сделал то же самое в Excel, это работает
public static ArrayList<String> readExcelData(int colNo) {
try {
FileInputStream fis= new FileInputStream("dat.xls");
HSSFWorkbook wb=new HSSFWorkbook(fis);
HSSFSheet s=wb.getSheet(shnum);
Iterator<Row> rowIterator=s.iterator();
rowIterator.next();
ArrayList<String> list=new ArrayList<String>();
DataFormatter formatter = new DataFormatter();
while (rowIterator.hasNext()) {
String val = formatter.formatCellValue(rowIterator.next().getCell(colNo));
list.add(val);
}
System.out.println("List :::"+list);
return list;
}catch(Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}