我有一个关于如何从File中提取字母的问题。这是我读过的文件的示例行。
ui Parker 8
我读了3个令牌,我应该从第一个令牌中提取2个字母,但不知道该怎么做。该代码引用了5个属性,这些属性是先前声明的对象的一部分,并且是文件中的3个令牌。第一个字母确定学生是本科生还是研究生,第二个字母确定学生是在国内还是在州外。
while(fileScan.hasNext())
{
classStatus = fileScan.next();
if(classStatus.charAt(0) == 'u' || classStatus.charAt(0) == 'U')
{
classStatus= "underGrad";
}
else
{
classStatus= "Grad";
}
studentName = fileScan.next();
resident = fileScan.next();
numberOfCredits = fileScan.nextInt();
double tuitionBill = fileScan.nextDouble();
StudentNode aNode = new StudentNode(classStatus,studentName,resident);
答案 0 :(得分:0)
所以遗漏的一个重要部分是你使用java.lang.Scanner
(fileScan的类型)是吗?
好吧,因为你的档案很可能组织得很好:
token [space] token [space] token
你可以用String读取每一行,然后有效地对每行读入的空格进行拆分。使用Scanner
,我们可以通过正则表达式完成此拆分,更具体地说,使用{{1} } 方法。使用useDelimiter()
时,this other SO question是一个很好的参考。
无论如何,要继续,您使用useDelimiter()
将每个标记作为字符串。然后使用上面的fileScan.next()
方法或substring
方法挑选必要的字符。