Gary 發問時間: 電腦與網際網路程式設計 · 1 0 年前

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 個解答

評分
  • 1 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...

    參考資料: 加菲貓
還有問題?馬上發問,尋求解答。