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中写这个?
我有不同的列的文件,每一列的值是字符串标签替换文本文件中的列值
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中写这个?
因为你不知道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);
}
你可以使用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
感谢您的重播,好了,我的意思通过将两个表,这意味着值A将被替换0,B将被替换为1,这将继续直到col3中的最后一个值。这是S2将被替换为6.这些表只是例子,真正的行数和列数未知。我正在考虑单独阅读每个列,但它似乎有点难以解决。我会感激,如果你能帮助我 – Aiman 2013-04-25 13:30:58