我是java的初学者,我的方案是读取文本文件中的一行,然后替换该列中的某个记录。到目前为止我现在所拥有的是从文本文件中读取一行。
问题:有没有办法替换列的值?
请参阅下面的代码:
public static String readLineNum(String sBatchForm, int numLine) throws Exception {
FileInputStream fs= new FileInputStream("C:/myFile"+ sBatchForm +"_Modified.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
String lineIWant = "";
for(int i = 0; i < numLine; ++i) {
lineIWant = br.readLine();
}
Log.info(lineIWant);
return lineIWant;
}
任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
老实说使用文本文件可能比它的价值更麻烦,你最好使用像Snake YAML或JSON Simple这样的库,这些类型的文件更适合存储数据以及这些库的大量教程。
答案 1 :(得分:0)
您可以使用String.split
将字符串分解为&#34;列&#34;基于分隔符。
如果文件在制表符上以制表符分隔,则将数组位置更改为您想要的值。
// tab delimited string
String line = "foo\tbar\tsome\tamount";
// split the string around the tabl into an array
String[] columns = line.split("\t");
// changed the 3rd value to xyz
columns[2] = "xyz";
// join the string array back into a tab delimited string
String newLine = String.join("\t", columns);
assert newLine.equals("foo\tbar\txyz\tamount")
顺便说一句,看起来像制表符分隔的文本文件对于你正在做的事情是好的。