假设我的文件系统上已有一个CSV文件
0 red
1 orange
2 yellow
3 green
4 blue
我想将这些结果更新为第一列保留,但第二列向上移动一点,如下所示:
0 orange
1 yellow
2 green
3 blue
4 (some randomly generated color)
这可能与Java有关吗?我不想写到另一个文件..只是更新我正在阅读的文件。任何帮助表示赞赏。谢谢。
编辑以显示当前输出
02 orange
03 yellow
04 green
05 blue
0 random
(注意:0和随机都在同一列中)
答案 0 :(得分:1)
Scanner scan = new Scanner(new File("csv.txt")); //or whatever the file name is
int[] numbers = new int[5];
String[] colors = new String[5];
int i = 0;
while (scan.hasNextLine()) {
String line = scan.nextLine();
Scanner s = new Scanner(line);
if (s.hasNextInt()) {
numbers[i] = s.nextInt();
if (s.hasNext()) colors[i] = s.next();
}
s.close();
i++;
}
scan.close();
PrintWriter output = new PrintWriter("csv.txt");
for (i = 0; i < numbers.length; i++) {
output.print(numbers[i] + " ");
if (i + 1 < numbers.length) output.println(colors[i + 1]);
else output.println(/* random color */);
}
output.close();