我已经创建了以下程序,我有点拘泥于此。这是代码:
class ProductNameQuan{
public static void main(String[] args)
{
String fileName = "stockhouse.txt";
StringTokenizer line;
String ProdName;
String quantity;
try {
BufferedReader in = new BufferedReader(new FileReader(fileName));
line = in.readLine();
while (line != null) {
ProdName = line.nextToken();
quantity = line.nextToken();
System.out.println(line);
line = in.readLine();
}
in.close();
} catch (IOException iox)
{
System.out.println("Problem reading " + fileName);
}
}
}
我正试图找到通过数组(而不是数组列表)ProdName和数量从文件中读取前10个信息的方法。"加上我在in.readLine()中的堆栈;很可能与StringTokenizer不兼容。现在的另一个问题是,我需要的数量是一个整数,而不是字符串。
该文件包括如下内容:球32网球322火球54。。。。。。有什么想法吗?
我会把它放在一个助手函数中,可能叫做parseString
class ProductNameQuan {
public static void main(String[] args)
{
...
try {
BufferedReader in = ...
line = in.readLine();
while (line != null) {
ProductNameQuan.parseString(line);
}
}
...
}
public static void parseString(String someString)
{
StringTokenizer st = new StringTokenizer(someString);
while (st.hasMoreTokens()) {
String token = line.nextToken();
try {
int quantity = Integer.parseInt(token)
// process number
} catch(NumberFormatException ex) {
// process string token
}
}
}