Como faço para ler cada coluna de um arquivo txt e colocá-los em matrizes separadas?

Eu estou fazendo uma atribuição de programação e, basicamente, eu preciso ler a partir de um arquivo txt e classificar tudo lá em diferentes matrizes, permitindo-me exibir tudo no prompt cmd ordenadamente e ser capaz de excluir coisas.

h Vito 123
d Michael 234 Heart
s Vincent 345 Brain Y
n Sonny 456 6
a Luca 567 Business
r Tom 678 Talking Y
j Anthony 789 Maintenance N
d Nicos 891 Bone
n Vicky 911 7

A primeira coluna precisa ser o employeeRole (funcionário, médico). A segunda coluna é o employeeName. A terceira coluna é o employeeNumber e alguns deles têm uma quarta coluna (se for um número, é o número de pacientes. Y é para varrer ou atender chamadas)

Então, meu processo de pensamento foi colocar cada coluna em sua própria matriz e, em seguida, escrevê-lo dessa maneira. Consegui colocar cada linha em sua própria matriz com

public class ReadingFile {
 // String test;
  // char[] employeeRole = new char[9];
   String[] employeeRole = new String[9];
   String[] employeeName = new String[9], specialty;
   String[] wholeLine = new String[9];
  // String word;

   int[] employeeNum = new int[9];
   int r, n, l, num;
   public void Reader()
    {
    Scanner inputStream = null;
    Scanner inputStream2 = null;
    Scanner inputStream4 = null;
    try
    {
        BufferedReader inputStream3 =
                    new BufferedReader(new FileReader("data.txt"));
        inputStream = new Scanner(new FileInputStream("data.txt"));
        inputStream =
                    new Scanner(new FileInputStream("data.txt"));
        inputStream2 =
                    new Scanner(new FileInputStream("data.txt"));
                    inputStream4 =
                    new Scanner(new FileInputStream("data.txt"));
                    System.out.println("Yeah");

    }
    catch(FileNotFoundException e){
        System.out.println("File Not found");
        System.exit(1);
    }
for (l=0; l<9; l++)
{
    wholeLine[l] = inputStream2.nextLine();

    System.out.println(wholeLine[l]);
}

Mas não consegui descobrir o que fazer a partir daí. Fazer uma divisão, então, colocaria uma matriz em uma matriz? O que significa que eu colocaria cada linha em uma matriz e, em seguida, cada palavra em uma matriz?

Então eu tentei outra coisa, qualquer coisa com o comprimento diferente de 1 seria o employeeNum, mas então eles eram os N's e Y's e o número de itens.

    for(r=0; r<9; r++) //role
    {
       String next = inputStream4.next();
       while( next.length() != 1)
       {
           next = inputStream4.next();
       }

        employeeRole[r] = next;

       System.out.println(employeeRole[r]);
    }

Eu também tentei

for (r=0; r<9; r++)
{
    employeeRole[r] = wholeLine[r].substring(wholeLine[r].indexOf(1));
    //inputStream.nextLine();
    System.out.println(employeeRole[r]);
}

Eu não tenho certeza se estou indo no caminho certo sobre isso? Se estou tornando mais difícil do que realmente é? Ou se há uma maneira mais fácil de fazer isso. Mas depois que tudo é feito, a saída deve ser capaz de dizer basicamente

Doctors: 2
Name: Michael  Employee Number: 234 Specialty: Heart
Name: Nicos     Employee Number: 891 Specialty: Bone

Qualquer ajuda seria muito apreciada, obrigado!

questionAnswers(1)

yourAnswerToTheQuestion