我有一个平面文件,我正在尝试清理以导入数据库。布局不一致,但总是由一个字段名(可变长度的文本,但总是 9 个单词或短语之一)和一个自由格式的文本字段(可变长度最多 1024 个字节)组成。我需要提取 1024 字节的字段,并将它们排列成跨字段名的列。
输入文件:
foo-01 bunches of data
foo bar01 more bunches of data including a bunch of notes
foo-01 lots of data lives in this field
foo18 monday notes
...etc.
输出文件 - 分隔,修剪空格
foo-01;foo bar 01;foo18 (<-- header row)
bunches of data; more bunches of data including a bunch of notes; ;
lots of data lives in this field; ; notes
我的策略是:阅读每一行。如果该行以九个字段名之一开始,我将一个子字符串(字段名之后的第一个字符到行中的最后一个字符 - 修剪空格)写入适当列位置的分隔平面文件。
此代码有效,
if(inputLine.startsWith("foo-01"))
{
String lineVal = inputLine.trim();
int lVLen = lineVal.length();
String outVal = lineVal.substring(17,lVLen);
String outValTrim = outVal.trim();
System.out.println(evalVal+" "+inputLine+" "+outValTrim);
}
else
...etc...
但提出问题。
考虑:
String outValTrim = inputLine.trim().substring(17,inputLine.trim().length()).trim();
我可以使用的最大方法数是多少?例如,
foo = Stringmethod1.Stringmethod2.StringMethod3()
语句中方法的顺序是否有规则?
在一个语句中组合方法的最佳实践是什么?我觉得它的可读性较差,而且我不确定效率。