JAVA读取矩阵文件,矩阵数据的文件格式为.bak,或grd,矩阵数据交换
1package com.gsafety.weixin.utils; 2 3import java.io.BufferedReader; 4import java.io.BufferedWriter; 5import java.io.File; 6import java.io.FileInputStream; 7import java.io.FileOutputStream; 8import java.io.IOException; 9import java.io.InputStreamReader; 10import java.io.OutputStreamWriter; 11 12public class MatrixUtils { 13 public static void main(String[] args) { 14 String[][] arrs =new String[120][120]; 15 String[][] retArr=new String[120][120]; 16 17 try { 18 File file =new File("E:\\test.bak"); 19 InputStreamReader is=new InputStreamReader(new FileInputStream(file)); 20 BufferedReader br =new BufferedReader(is); 21 String line=""; 22 int n=0; 23 while((line=br.readLine())!=null){ 24 String [] retline=line.split("\\s+"); 25 arrs[n] = retline; 26 n++; 27 } 28 29 //实现矩阵上下对折 30 for (int i = 0; i < retArr.length; i++) { 31 for (int j = 0; j < retArr[i].length; j++) { 32 retArr[arrs.length-i-1][j]=arrs[i][j]; 33 } 34 } 35 File wfile =new File("E:\\test2.bak"); 36 OutputStreamWriter os=new OutputStreamWriter(new FileOutputStream(wfile)); 37 BufferedWriter bw =new BufferedWriter(os); 38 for (int m = 0; m < retArr.length; m++) { 39 StringBuilder sb=new StringBuilder(); 40 for (String str : retArr[m]) { 41 sb.append(str+" "); 42 43 } 44 bw.write(sb.toString()); 45 bw.newLine(); 46 } 47 bw.flush(); 48 bw.close(); 49 br.close(); 50 } catch (IOException e) { 51 // TODO Auto-generated catch block 52 e.printStackTrace(); 53 } 54 55 } 56 57}