Non, pas du tout.
Si ton fichier n'est pas trop gros, tu le stockes dans une String.
Par exemple:
URL url=new URL("http","www.javafr.com","/infomsg.aspx"); //désigne la page des messages de ce site par exemple
BufferedReader br=new BufferedReader(url.openStream()); String tmp=br.readLine();
int cpt=0;
String code=new String();
while (tmp!=null&&cpt<100){
// tmp contient ta ligne à lire
// traitement à effectuer
...
code+=tmp;
tmp=br.readLine();
cpt++;
}
// puis tu effectue récupères le header
String strHead=code.substring(code.indexOf("<head>"),code.indexOf("</head>"));
// sinon tu peux faire un traitement meilleur pour ta mémoire à l'aide de StringBuffer, si ça t'intéresse, regarde un peu dans la doc.