如何在Java中的文件中导入多个矩阵,其中数字之间用空格分隔,而矩阵之间用“ @”分隔?

时间:2019-02-11 11:45:11

标签: java file matrix

我如何从Java文件中导入多个矩阵,其中数字之间用空格分隔,而矩阵之间用不同的字符(例如“ @”)分隔?

这是文件matrix.txt的示例:

2 2

34 78

89 -12

@

2 2

67 76

123 5

在@之前是矩阵A,在@之后是矩阵B

1 个答案:

答案 0 :(得分:0)

我在MS Windows(Eclipse)中工作,我尝试了两种或三种不同的方式,我的问题是如何对待这两个定界符并将矩阵除于@之后。

这是我尝试过的代码之一:

public int readFiles(String file) throws IOException {
    int A = 0;
    String lines = "";
    BufferedReader myBuffer = null;
    myBuffer = new BufferedReader(new FileReader(file));
    int count=0;
    lines = myBuffer.readLine();
    while(lines!=null) {
    count++;
    lines = myBuffer.readLine();
    }
    myBuffer.close();
    myBuffer = new BufferedReader(new FileReader(file));
    int size = (count/2);
    int nRows = (size);
    int nCols = (size/2);
    String [] [] arrayA = new String [nRows][nCols]; 
    for(int i =0;i<arrayA.length;i++) {
        for(int j=0;j<arrayA[i].length-1;j++) {
            lines = myBuffer.readLine();
            String[] splited = lines.split(" ");
            arrayA[i][j]= splited[0];
            arrayA[i+1][j+1]= splited[1];
        }

    }
    for(int i =0;i<arrayA.length;i++) {
        for(int j=0;j<arrayA[i].length;j++) {
            System.out.println(arrayA[i][j]);
        }

    }
    return A;

}

感谢您这么快地回答我...