0

我有一个包含不同列的文件,每列的值都是字符串标签

col1 col2 col3
----- ----- -----
一个WM S2
B JK S3
C ZO S2

如果我想将每个值的值替换为数字,我的表格将采用以下格式

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

这个用java怎么写?

4

2 回答 2

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
于 2013-04-25T06:10:45.883 回答
-2

因为你不知道确切的行数

您执行以下操作
- 读取所有行(这将为您提供行数)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);
 }
于 2013-04-25T06:05:44.107 回答