MyException - 我的异常网
输入您需解决的 软件开发问题并开始搜索, 我的异常网可以方便地提供各类 程序错误解决方案。
当前位置: 我的异常网 » Eclipse

从文件中读取数据,为什么运行如此慢?解决思路

从文件中读取数据,为什么运行如此慢?
Java code


package matrix;
import java.io.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
import java.util.Locale;

public class Matrix {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException{
        // TODO code application logic here
        Scanner scanner = null;
        int count = 0;
        try
        {
         scanner = new Scanner(new BufferedReader(new FileReader("C:/Users/Documents/NetBeansProjects/Matrix/src/matrix/PersonA.txt"
             )));        
        while (scanner.hasNext()) 
        {
        if (scanner.hasNextDouble()) 
            {
              count++;
             } 
        else {
              scanner.next();
              }
         }
        }
        finally {
            scanner.close();
        }
        
        
        for (int i = 0; i < (count/6); i++){
            for (int j = 0; j < 6; j++){
                double[][] array = new double[i][j];
                array[i][j] = scanner.nextDouble();
                System.out.println( array[i][j]);
        
            }
        }
        }
 }





这个PersonA.txt里面是共计一万多个类型为double的数子,应该是6个一组。
现在想把它们读取到二维数组里,共计n行6列。
像上面那样运行,半个小时也不出结果。不知道哪得问题,谁能给指点一下。

------解决方案--------------------------------------------------------
BufferedReader readLine试试。
------解决方案--------------------------------------------------------
while循环的代码逻辑有问题,如果检索到了double,你就不会执行next,修改为:
Java code

            while (scanner.hasNext()) {
                if (scanner.hasNextDouble()) {
                    count++;
                }
                scanner.next();
            }
				
软件开发 程序错误 异常 Exception Copyright © 2009-2012 MyException 版权所有