¿Cómo leo cada columna de un archivo txt y las coloco en matrices separadas?

Estoy haciendo una Asignación de Programación y básicamente necesito leer un archivo txt y ordenar todo en diferentes arreglos, permitiéndome mostrar todo en el indicador de cmd de manera ordenada y poder eliminar cosas.

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

La primera columna debe ser el rol de los empleados (empleado, médico). La segunda columna es el employeeName. La tercera columna es el número de empleado y algunos de ellos tienen una cuarta columna (si se trata de un número, es el número de pacientes. Y es para barrer o contestar llamadas)

Así que mi proceso de pensamiento fue poner cada columna en su propia matriz y luego escribirla de esa manera. Pude poner cada fila en su propia matriz con

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]);
}

Pero no pude averiguar qué hacer a partir de ahí. Hacer una división pondría una matriz en una matriz? ¿Qué significa que pondría cada línea en una matriz y luego cada palabra en una matriz?

Así que intenté otra cosa, cualquier cosa con una longitud no igual a 1 sería el número de empleado, pero luego estaban las N y las Y, y el número de pateints.

    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]);
    }

Yo tambien lo intenté

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

¿No estoy seguro de si voy por el camino correcto? ¿Si lo estoy haciendo más difícil de lo que realmente es? O si hay una manera más fácil de hacer esto. Pero después de que todo está hecho, la salida debería poder decir básicamente

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

¡Cualquier ayuda sería muy apreciada, gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta