Hallo, ich habe ein Problem meines Vortrag Material zu verstehen und dachte, vielleicht hier jemand kann mir helfen, es ein bisschen besser zu verstehenVerständnis Datei Input-Output-
dies ist das Beispiel i in Vorlesung habe
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());
}
}
i auch hat eine Folie auf dem Parsen von cSV-Dateien
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("");
}
ich die Methode Process guess in readFileExample verwendet wird, um die cSV-Datei zu trennen ist das richtig?
und auch wenn mein Verständnis richtig ist, im einen Dateinamen irgendwo eingeben sollte und rufen, dass in readFileExample aber wie würde ich das tut, kann ich mit
Scanner sc = new scanner (system.in)
filename = sc.nextline()
und wenn sie nicht zu viel einem einfachen Beispiel wäre toll
danke für die Hilfe.
Aus der [Dokumentation für 'StringTokenizer'] (https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html) -" _ 'StringTokenizer" ist eine Legacy-Klasse, die wird aus Kompatibilitätsgründen beibehalten, obwohl die Verwendung im neuen Code_ nicht empfohlen wird ". Wenn ** Oracle selbst dir sagt, dass du es nicht benutzen sollst; nicht. –