Java – 解析文本文件
我有这种格式的输入文本文件:
: ... : ... ...
以及一个采用两个参数的方法
function(target, dep);
我需要让这个解析来调用我的方法与每个目标和dep,例如:
function(target1, dep1); function(target1, dep2); function(target1, ...); function(target2, dep1); function(target2, dep2); function(target2, ...);
在文本文件的每一行上调用function(target,dep)
的最有效方法是什么? 我试过用扫描仪和string.split搞错,但没有成功。 我很难过。
谢谢。
- 读入
String myLine
- 将
myLine
拆分为:
intoString[] array1
- 将
array1[1]
放在' '
到String[] array2
- 迭代通过
array2
和调用function(array1[0], array2[i])
所以……
FileReader input = new FileReader("myFile"); BufferedReader bufRead = new BufferedReader(input); String myLine = null; while ( (myLine = bufRead.readLine()) != null) { String[] array1 = myLine.split(":"); // check to make sure you have valid data String[] array2 = array1[1].split(" "); for (int i = 0; i < array2.length; i++) function(array1[0], array2[i]); }
首先,您必须从文件读取行并在此拆分读取行之后,因此您的代码应如下所示:
FileInputStream fstream = new FileInputStream("your file name"); // or using Scaner DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; //Read File Line By Line while ((strLine = br.readLine()) != null) { // split string and call your function }