привет у меня есть некоторые проблемы с пониманием моего лекционного материала и подумал, может быть кто-то здесь может помочь мне понять это немного лучшепонимания файл ввод-вывод
это пример я имею в лекции
private void readFileExample (String inFilename){
FileInputStream fileStrm = null;
InputStreamReader rdr;
BufferedReader bufRdr;
int lineNum;
String line;
try {
fileStrm = new FileInputStream(inFilename);
rdr = new InputStreamReader(fileStrm);
bufRdr = new BufferedReader(rdr);
lineNum = 0;
line = bufRdr.readLine();
while (line != null) {
lineNum++;
processLine(line);
line = bufRdr.readLine();
}
fileStrm.close();
}
catch (IOException e) {
if (fileStrm != null) {
try { fileStrm.close(); } catch (IOException ex2) { }
}
System.out.println("Error in file processing: " + e.getMessage());
}
}
также я есть слайд на разборе файлов CSV
private void processLine(String csvRow) {
String thisToken = null;
StringTokenizer strTok;
strTok = new StringTokenizer(csvRow, ",");
while (strTok.hasMoreTokens()) {
thisToken = strTok.nextToken();
System.out.print(thisToken + " ");
}
System.out.println("");
}
я думаю, метод ProcessLine используется в readFileExample отделить файл CSV в том, что правильно?
, а также, если я правильно понимаю, им должен ввести имя файла где-то и называют, что в readFileExample, но как бы я сделать это, я могу использовать
Scanner sc = new scanner (system.in)
filename = sc.nextline()
и если его не слишком простой пример был бы отличным
спасибо за помощь.
Из [документации для 'StringTokenizer'] (https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html) -« _StringTokenizer »- это унаследованный класс, который сохраняется по соображениям совместимости, хотя его использование не рекомендуется в новом коде_ ». Если ** сами Oracle ** говорят вам не использовать его; нет. –