2013-04-25 95 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