thunderbirdnils
Mitglied
Klar kein Thema
Die "//klappt nicht" ist der versuch den InputStream direckt weiter zu verarbeiten bei dem die Exception kommt.
Mit Ziptext in eine Datei schreiben und wieder zu laden klappt.
Java:
public static void Fcontentsenden ( String link, String content ) {
try {
URL seite = new URL(link);
String hostname = seite.getHost();
int port = 80;
InetAddress addr = InetAddress.getByName(hostname);
Socket socket = new Socket(addr, port);
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
<blabla>
wr.write(content);
wr.flush();
//und hier beginnt der Bastelteil
InputStream is = socket.getInputStream();
byte[] buffer = new byte[ 1 ];
int length;
int index = 0;
String temp = "";
do {
length = is.read(buffer);
if(length != -1) {
ziptext = ziptext + (char)buffer[0];
}
} while(length != -1);
index = ziptext.indexOf("Content-Length:") + 15;
index = Ffindezahl(ziptext, index); //Ffindezahl ist eine Funktion die eine komplette zahl in einen String sucht die arbeitet zu 100% perfekt
// klappt nicht ziptext = ziptext.substring(ziptext.length() - tempzahl); //tempzahl ist die Zahl aus dem String
index = ziptext.indexOf("bug", index) + 7;
ziptext = ziptext.substring(index);
Fdateischreiben(ziptext, "cache.tmp"); //Fdateischreiben schreibt stumpf den String in eine Datei
// klappt nicht InputStream isneu = new GZIPInputStream(new ByteArrayInputStream(ziptext.getBytes()));
InputStream isneu = new GZIPInputStream(new FileInputStream("cache.tmp"));
.
.
.
} catch (Exception e) {
System.out.println(e);
}
}
Die "//klappt nicht" ist der versuch den InputStream direckt weiter zu verarbeiten bei dem die Exception kommt.
Mit Ziptext in eine Datei schreiben und wieder zu laden klappt.