2013-04-25 114 views
0

我有不同的列的文件,每一列的值是字符串標籤替換文本文件中的列值

 
col1 col2 col3 
----- ----- ----- 
A  WM  S2 
B  JK  S3 
C  ZO  S2 

如果我想替換每個值的數值是數字,我會有我的表在以下格式

 
col1 col2 col3 
----- ----- ----- 
0  3  6 
1  4  7 
2  5  6 

如何在java中寫這個?

回答

-1

因爲你不知道exactlly行

的數量,您做以下
- 讀取所有行(這會給你的行數)rowsNo。
- 你重寫你的表格。

for (int row=0; row<rowsNo; row++) { 
    String rowStr = ""; 
    for (int col=0; col<colsNo; col++) 
    rowStr += row+col*colsNo; 
    System.out.println(rowStr); 
} 
0

你可以使用java.util.Scanner,因爲.next()將把數字和文本同樣

final Scanner scanner = new Scanner(new File("path_to_file")); 
final List<String[]> list = new ArrayList<String[]>(); 

try { 
    // skip 2 first lines 
    if (scanner.hasNextLine()) 
     scanner.nextLine(); 
    if (scanner.hasNextLine()) 
     scanner.nextLine(); 

    while (scanner.hasNextLine()) { 
     final String[] line = new String[3]; 
     for (int i = 0; i < 3 && scanner.hasNext(); i++) { 
      line[i] = scanner.next(); 
     } 
     list.add(line); 
     scanner.nextLine(); 
    } 
} finally { 
    scanner.close(); 
} 

// the file content is in "list" variable now, so you can modify and save back to file 
+0

感謝您的重播,好了,我的意思通過將兩個表,這意味着值A將被替換0,B將被替換爲1,這將繼續直到col3中的最後一個值。這是S2將被替換爲6.這些表只是例子,真正的行數和列數未知。我正在考慮單獨閱讀每個列,但它似乎有點難以解決。我會感激,如果你能幫助我 – Aiman 2013-04-25 13:30:58