正在将文件StringTokenizer读取到int



我已经创建了以下程序,我有点拘泥于此。这是代码:

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
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新