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拆分为: into String[] 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 }