Java - Analisando arquivo de texto

Tenho um arquivo de texto de entrada neste formato:

<target1> : <dep1> <dep2> ...
<target2> : <dep1> <dep2> ...
...

E um método que usa dois parâmetros

function(target, dep);

Preciso obter essa análise para chamar meu método com cada destino e dep, por exemplo:

function(target1, dep1);
function(target1, dep2);
function(target1, ...);
function(target2, dep1);
function(target2, dep2);
function(target2, ...);

Qual seria a maneira mais eficiente de ligar parafunction(target,dep) em cada linha de um arquivo de texto? Tentei brincar com o scanner e a string.split, mas não obtive sucesso. Estou perplexo

Obrigado

questionAnswers(2)

yourAnswerToTheQuestion