嗨我有一些问题需要理解我的讲座材料,想到也许这里有人可以帮我理解它好一点
这是我在演讲中的例子
while
我也有解析csv文件的幻灯片
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());
}
}
我想在readFileExample中使用processLine方法来分离csv文件是对的吗?
如果我的理解是正确的,我应该在某处输入文件名并将其调用到readFileExample但是我该怎么做呢,我可以使用
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("");
}
如果它不是太多简单的例子就会很棒
感谢您的帮助。
答案 0 :(得分:0)
输入文件名无关紧要。
它可以是这样的:字符串fileName = new String(“myFileName”);
或你的方式:
扫描仪sc =新扫描仪(system.in);
filename = sc.nextline();
然后在设置fileName后,将其传递给readFileExample:
readFileExample(filename); //无论您从何处获取名称,都将其传递。
和processLine函数一样,就像它的名字一样,用于解析每一行。如果要使用此程序实现某种文件分析。只需使用上面的结构。但你必须修改processLine函数。