我有一个文本文件,其中包含我需要的所有信息,需要将其转换为 .csv 文件。
示例:
abbccccdeffffiiiiiiiiiiiiiijjkkkkkkkkkkkllmmmmmmnnooo
abbccccdeffffiiiiiiiiiiiiiijjkkkkkkkkkkkllmmmmmmnnooo
abbccccdeffffiiiiiiiiiiiiiijjkkkkkkkkkkkllmmmmmmnnooo
abbccccdeffffiiiiiiiiiiiiiijjkkkkkkkkkkkllmmmmmmnnooo
abbccccdeffffiiiiiiiiiiiiiijjkkkkkkkkkkkllmmmmmmnnooo
abbccccdeffffiiiiiiiiiiiiiijjkkkkkkkkkkkllmmmmmmnnooo
所以基本上
- 1.“a”是只有一个字符的第一列
- 2.“bb”是长度为2的第二列
- 3.“cccc”是长度为 4 的第三列
- 4.“d”是长度为 1 的第四列
- 5.“e”是第五列,长度为1
- 6.“ffff”是第六列,长度为4
从这个例子中我们可以看到,我不能使用带有空格或逗号的分隔符,它们的长度都不同。请指出正确的方向。我只需要知道如何解决这个问题。
提前谢谢大家!
最佳答案
您知道每列值的长度
,您可以使用String的substring
方法。
string.substring(start, start+length);
其中 start
是列的起始索引,length
是列值的长度。
使用StringBuilder
将它们转换为csv
格式。当您计算列值时,继续将它们与 ,
一起附加到 stringBuilder
对象中。检索并附加最后一列后,使用 toString()
将其转换为 String
并写入您选择的流。
我建议您使用相同的 StringBuilder
对象,而不是为每一行创建一个新对象。将其写入流后,只需将大小重置为零 (StringBuilder.size(0)
)。
关于java - 如何根据光标位置分割线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33002800/