Java讀檔...
假設abc.txt裡面的資料為
ABC
-----------------------------------------
A 1 2 3 B 4 5 6 C 7 8 9
A 9 8 7 B 6 5 4 C 3 2 1
把A.B和C當做區隔
分別把他們後面的直存入對應的2維陣列中
像A後面的值存入陣列A[ ][ ]={1,2,3},{9,8,7}
B後面的值存入陣列B[ ][ ]={4,5,6},{6,5,4}
C ........................ C[ ][ ]={7,8,9},{3,2,1}
1 個解答
- 加菲貓Lv 71 0 年前最佳解答
你文件中因字母間都有空白且不是一整行須做兩個步驟
先做一個類別讀出檔案再將檔案排成一行無空白寫到另一個空白檔中
第二再做另一個類別讀出先建立成整行的文件檔讀出將值放入二維陣列內
如下範例:
第一個類別
圖片參考:http://imgcld.yimg.com/8/n/AE02886810/o/1610122200...
第二個類別將檔讀出建立成二維陣列
import java.io.*;
import java.util.*;
public class NO2 {
public static void main(String[] args){
FileReader fr =null;
BufferedReader br =null;
String tempString="";
try{
fr =new FileReader("src/BCD.txt");
br = new BufferedReader(fr);
String dome,x,x2,y2, y,z,z2;
String[]a=new String[3];
String[]b=new String[3];
String[]c=new String[3];
String[]a2=new String[3];
String[]b2=new String[3];
String[]c2=new String[3];
while ((dome = br.readLine()) != null ){
System.out.println();
x =dome.substring(1,4);
x2 =dome.substring(13,17);
y =dome.substring(5,8);
y2 =dome.substring(17,20);
z =dome.substring(9,13);
z2 =dome.substring(21,24);
a =x.split("");
b =y.split("");
c =z.split("");
a2 =x2.split("");
b2 =y2.split("");
c2=z2.split("");
String[][]A={{a[1],a[2],a[3]},{a2[1],a2[2],a2[3]}};
String[][]B={{b[1],b[2],b[3]},{b2[1],b2[2],b2[3]}};
String[][]C={{c[1],c[2],c[3]},{c2[1],c2[2],c2[3]}};
System.out.print("A[][]陣列為:");
for(String[] h : A){
for(String k :h)
System.out.print(k);
}
System.out.print("\n"+"B[][]陣列為:");
for(String[] g : B){
for(String k :g)
System.out.print(k);
}
System.out.print("\n"+"c[][]陣列為:");
for(String[] j : C){
for(String m :j)
System.out.print(m);
}
}
} catch(IOException e){} finally{
try{
br.close();fr.close();//關閉串流
} catch(IOException e){}
}
}
}
圖片參考:http://imgcld.yimg.com/8/n/AE02886810/o/1610122200...
參考資料: 加菲貓