Hallo Java Freunde,
ich bin neu hier und habe ein kleines Problemchen. Ich erstelle gerade einen NNTP Newsclient und habe das Problem, dass der Server mir nur 11052 anstatt der 22104 Gruppen zurück liefert (news.t-online.de). Ich vermute mal, dass das Problem irgendwie am BufferedReader liegt. Ein Versuch mit "DataInputStream.readLine()" funktioniert, ist aber lt. SUN deprecated.
Mein Code:
Hat hier vielleicht jemand eine Ahnung, wo mein Fehler liegt?
Vielen Dank im Voraus und schöne Pfingsten
Gruß
/martin
ich bin neu hier und habe ein kleines Problemchen. Ich erstelle gerade einen NNTP Newsclient und habe das Problem, dass der Server mir nur 11052 anstatt der 22104 Gruppen zurück liefert (news.t-online.de). Ich vermute mal, dass das Problem irgendwie am BufferedReader liegt. Ein Versuch mit "DataInputStream.readLine()" funktioniert, ist aber lt. SUN deprecated.
Mein Code:
Code:
import javax.swing.SwingWorker;
import java.net.*;
import java.io.*;
public class NNTPGetList extends SwingWorker <Void, Object>{
private Socket socket;
public Groups groups;
private InputStream is;
private String glist;
public NNTPGetList(Socket socket){
this.socket = socket;
}
@Override
public Void doInBackground(){
try {
PrintWriter send = new PrintWriter(socket.getOutputStream());
is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String cmessage = "LIST";
send.println(cmessage);
send.flush();
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream( "grouplst.txt" ) ) );
int cnt =0;
while(!br.readLine().equals(".")) {
glist = br.readLine();
System.out.println(glist);
out.write(glist); // testing
out.newLine();
cnt++;
}
out.newLine();
out.close();
// debug output
System.out.println(cnt+" Groups in List");
} catch(ConnectException conn){
// later
} catch (IOException e){
// later
}
return null;
}
@Override
protected void done(){
System.out.println("retrieve Grouplisting done");
}
}
Hat hier vielleicht jemand eine Ahnung, wo mein Fehler liegt?
Vielen Dank im Voraus und schöne Pfingsten
Gruß
/martin