Ler e imprimir arquivo texto em tela

boa tarde

tenho que ler o seguinte arquivo texto e imprimir na tela

2.01.12/Brisbane/Australia/250/434250.0/Andy Murray
02.01.12/Chennai/India/250/398250.0/Milos Raonic
02.01.12/Doha/Qatar/250/1024000.0/Jo Wilfried Tsonga
09.01.12/Heineken Open/New Zealand/250/398250.0/David Ferrer
09.01.12/Apia Int. Sydney/Australia/250/434250.0/Jarkko Niemin

o codigo utilizado e esse

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; try { while((s1=in1.readLine())!=null){ p1 = s1.split("/"); System.out.println(p1[j]); j++; } if(s1 == null){ in1.close();} }catch (Exception e){System.out.println("Excecao\n");} } }

so que nao imprimi o arquivo na tela,no caso queria que saisse assim
02.01.12
Bribane
.
.ate
.
Jarkko Niwminen

mas a saida e esta
02.01.12
Chennai
Qatar
250
434250.0

esta pegando pedaços e nao o arquivo inteiro se puderem me ajudar ?

Pelo que vi o problema está aqui:

while((s1=in1.readLine())!=null){ p1 = s1.split("/"); System.out.println(p1[j]); j++; }

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.

Tente fazer desse jeito:

[code]import java.io.*;

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;
int b = 0;
try {
while((s1=in1.readLine())!=null){
p1 = s1.split("/");
while(p1 != null){

	       System.out.println(p1[j]);
		   j++; 			 
				}
				
				b++; 			 
          }             			  
   if(s1 == null){ in1.close();}     
      }catch (Exception e){System.out.println("Excecao\n" + e);
	  }
    }
  }

[/code]

tentei isso mas nao deu certo veja se e assim que deve ficar o codigo

 while((s1=in1.readLine())!=null){              
		       
	 for(int i=0;i<5;i++) {  			   			   
               p1=s1.split("/");
                System.out.println(p1[j]);
}
             j++;}  	
			
             System.out.println(j);

vlw

[quote=jobs]tentei isso mas nao deu certo veja se e assim que deve ficar o codigo

 while((s1=in1.readLine())!=null){              
		       
	 for(int i=0;i&lt;5;i++) {  			   			   
               p1=s1.split(&quot;/&quot;);
                System.out.println(p1[j]);
}
             j++;}  	
			
             System.out.println(j);

vlw[/quote]

Não! Você precisa receber em p1 o conteúdo da linha do arquivo antes de entrar no for.

while((s1=in1.readLine())!=null){ p1=s1.split(&quot;/&quot;); for(int i=0;i&lt;p1.length;i++) { System.out.println(p1[i]); } } >

no codigo que vc mes mostrou so imprimi a 1º linha

		   while((s1=in1.readLine())!=null){  
               p1 = s1.split("/");  
               while(p1 != null){  
			     System.out.println(p1[j]); // imprimi so a 1º linha
			        j++;  }  
                 j++;               
              }

Tenta esse outro agora:

[code]import java.io.*;

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;

try {
while((s1=in1.readLine())!=null){
p1 = s1.split("/");

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

[/code]

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("");
                          }