Você deve receber a linha em p1 e fazer um for em p1 para imprimir os dados dele. O que está fazendo é ler a linha, imprime 1 posição do p1 e depois já lê a próxima linha.
Faça um for para p1 dentro do while, depois que p1 recebe a linha do arquivo.
public class Arquivo{
public static void main(String[] args) throws IOException {
BufferedReader in1 = new BufferedReader(new FileReader(“atp.txt”));
String s1;
String[] p1;
int j=0;
//so saira do loop interno quando a linha for toda percorrida
while(p1.length != j){
System.out.println(p1[j]);
j++;
}//Fim do for interno.
System.out.println("\n");
j = 0;/*A cada nova linha que for percorrida aqui sera configurada com
zero para que nao de um erro do tipo: java.lang.ArrayIndexOutOfBoundsException:*/
}
in1.close();
}catch (Exception e){System.out.println("Excecao\n" + e);
}
}
}
valeu consegui obrigada o codigo final ficou assim
while((s1=in1.readLine())!=null){
p1=s1.split("/");
for(int i=0;i<p1.length;i++) { //tirei o <= e coloquei so <,por isso ele imprimia so a primeira linha ele acessava um valor nulo
System.out.println(p1[i]);
}
System.out.println("");
}