java读取文件存放二维数组

package com.njcx.io;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileRead{
public static float[][] readLineVarFile(String fileName,int dataStartLine,int lineStart,int lineEnd,int columStart,int columEnd,boolean skipRead) throws IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName))); //使用缓冲区的方法将数据读入到缓冲区中

            for(int i=1;i<dataStartLine;i++) {
        		reader.readLine();
        	}
            if(lineStart>1) {
            	for(int i=1;i<lineStart;i++) {
            		reader.readLine();
            	}
            }
            //JSONObject resObj = new JSONObject();
            float [][] resArr = new float[lineEnd-lineStart+1][columEnd-columStart+1];
            for(int i=lineStart;i<=lineEnd;i++) {
            	String line = reader.readLine(); 	
            	String [] line_arr = line.split("\\s+");
            	int lineIndex = i-lineStart;
            	for(int j=columStart-1;j<columEnd;j++) {
            		int columIndex = j-(columStart-1);

            		String key = (i-1)+"_"+j;
            		float val = Float.parseFloat(line_arr[j]);
            		//resObj.put(key,val);
            		
            		resArr[lineIndex][columIndex]=val ;
            	}
            	if(skipRead) {
            		reader.readLine();
            	}
            }
            reader.close(); 
            return resArr;
    } 

    public static void main(String[] args) throws IOException 
	{                       
		String [] filePathArr =new String[]{
			"D:\\\\wj0825\\\\RAIN01\\\\21071808.002",
			"D:\\\\wj0825\\\\RAIN01\\\\21071808.003",
			"D:\\\\wj0825\\\\RAIN01\\\\21071808.004",
		};
		
		int dataStartLine=5;
		int lineStart=5;
		int lineEnd=8;
		
		int columStart=1;
		int columEnd=10;
		boolean skipRead =false;
		float [][] sum_res = null;
    	for(int k=0;k<filePathArr.length;k++) {
    		String filePath = filePathArr[k];
        	float [][] res = readLineVarFile(filePath,dataStartLine,lineStart,lineEnd,columStart,columEnd,skipRead); //读取指定行的内容 
            if(sum_res==null) {
            	sum_res=res;
            }else {
            	for(int i=0;i<res.length;i++) {
            		for(int j=0;j<res[i].length;j++) {
            			sum_res[i][j] += res[i][j];
            		}
            	}
            }
    	}

// for(int i=0;i<sum_res.length;i++) {
// String res="";
// for(int j=0;j<sum_res[i].length;j++) {
// res+=sum_res[i][j]+",";
// }
// System.out.println(res);
// }
}
}


版权声明:本文为liyongyi0123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。