Java - 解析文本文件

Mik*_*ike 4 java file-io parsing java.util.scanner

我有这种格式的输入文本文件:

<target1> : <dep1> <dep2> ...
<target2> : <dep1> <dep2> ...
...
Run Code Online (Sandbox Code Playgroud)

以及一个采用两个参数的方法

function(target, dep);
Run Code Online (Sandbox Code Playgroud)

我需要让这个解析来调用我的方法与每个目标和dep,例如:

function(target1, dep1);
function(target1, dep2);
function(target1, ...);
function(target2, dep1);
function(target2, dep2);
function(target2, ...);
Run Code Online (Sandbox Code Playgroud)

调用function(target,dep)文本文件的每一行最有效的方法是什么?我试过用扫描仪和string.split搞错,但没有成功.我很难过.

谢谢.

Bri*_*ach 11

  • 读入行 String myLine
  • 分裂myLine: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]);
}
Run Code Online (Sandbox Code Playgroud)