Lecture à partir d'une URL de Connexion Java

Je suis en train de lire le code html à partir d'une URL de Connexion. Dans un cas, le fichier html, je suis en train de lire comprend 5 sauts de ligne avant le doc de la déclaration de type. Dans ce cas, le lecteur d'entrée déclenche une exception pour les expressions du FOLKLORE.

URL pageUrl = 
    new URL(
        "http://www.nytimes.com/2011/03/15/sports/basketball/15nbaround.html"
    );

URLConnection getConn = pageUrl.openConnection();
getConn.connect();
DataInputStream dis = new DataInputStream(getConn.getInputStream());
//some read method here

Quelqu'un a couru dans un problème comme celui-ci?

URL pageUrl = new URL("http://www.nytimes.com/2011/03/15/sports/basketball/15nbaround.html");
URLConnection getConn = pageUrl.openConnection();
getConn.connect();
DataInputStream dis = new DataInputStream(getConn.getInputStream());
String urlData = "";
while ((urlData = dis.readUTF()) != null)
    System.out.println(urlData);

//exception levée

java.io.EOFException
à java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
à java.io.DataInputStream.readUTF(DataInputStream.java:572)
à java.io.DataInputStream.readUTF(DataInputStream.java:547)

dans le cas de bufferedreader, il répond juste nulle et ne continue pas

pageUrl = new URL("http://www.nytimes.com/2011/03/15/sports/basketball/15nbaround.html");
URLConnection getConn = pageUrl.openConnection();
getConn.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(getConn.getInputStream()));
String urlData = "";
while(true)
     urlData = br.readLine();
     System.out.println(urlData);

sorties de nulle

Les sauts de ligne ne sont pas des expressions du FOLKLORE. Peut-être poster votre lecture de code et l'exception, elle est à jeter?
Je suis d'accord avec le commentaire ci-dessus de Brian R., sans la trace de la pile, il est difficile de dire quel est le problème. Aussi, je ne suis pas sûr de savoir pourquoi vous avez besoin d'utiliser un DataInputStream à lire HTML. C'est pour la lecture de Java les types primitifs (binaire) la plupart du temps. Si vous voulez le lire ligne par ligne, BufferedReader est mieux (non dépréciés) choix.
bufferedreader sorties de nulle

OriginalL'auteur Penny | 2011-03-20