I
ichbinsnur
Gast
Hi,
ich habe mal wieder was geschrieben...
Naja, klappt nur leider nicht... :roll:
Also, ich durchsuche eine Internetseite nach Bildadressen und lasse anschließend die Bilder lokal speichern. Nur, ich bekomme kein Bild. :cry:
Weiß jemand ganz spontan wo der Fehler liegt? Ich sitze jetzt echt schon einige Zeit davor, aber ich weiß keinen Ausweg.
Um nochmal klar zu gehen, das wirklich am Ende die richtige URL rauskommt, lasse ich die einzelnen Schritte nochmals ausgeben, das geht alles, nur beim Speichern hakt es.
lg.
ich habe mal wieder was geschrieben...
Naja, klappt nur leider nicht... :roll:
Also, ich durchsuche eine Internetseite nach Bildadressen und lasse anschließend die Bilder lokal speichern. Nur, ich bekomme kein Bild. :cry:
Code:
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.net.URL;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.imageio.ImageIO;
public class image
{
Pattern p = Pattern.compile("src=\"(.*?)\" ");
private image()
{
do
{
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String input;
try {
if((input = buffer.readLine()) != null)
{
if(input.startsWith("saveimg"))
{
StringTokenizer stringtokenizer = new StringTokenizer(input, " ");
String s29 = stringtokenizer.nextToken();
String s34 = stringtokenizer.nextToken();
String verzeichnis = stringtokenizer.nextToken();
URL url = new URL((new StringBuilder()).append(s34).toString());
BufferedReader br = new BufferedReader(new InputStreamReader(url.openConnection().getInputStream()));
String line;
LineNumberReader f = new LineNumberReader(new BufferedReader(new InputStreamReader(url.openConnection().getInputStream())));
while ( (line = f.readLine()) != null )
a2 = f.getLineNumber();
f.close();
for(int j1 = 0; j1 < a2; j1++)
{
zeile = br.readLine();
if(zeile.indexOf("src=\"") >= 0 )
{
Matcher m = p.matcher(zeile);
m.reset();
while (m.find()) {
a = m.group();
System.out.println(a);
a = a.replaceFirst("src=\"", "");
a = a.replaceFirst("\"", "");
System.out.println(a);
}
if(!a.startsWith("http://"))
{
if(a.startsWith("/"))
{
a = a.replaceFirst("/", "");
}
a = verzeichnis + a;
try {
URL urla = new URL(a);
imagew = ImageIO.read(urla);
} catch(Exception ex){
ex.printStackTrace();
}
System.out.println(a);
}
if(a.startsWith("http://"))
{
System.out.println(a);
try {
URL urlz = new URL(a);
imagew = ImageIO.read(urlz);
} catch(Exception ex){
ex.printStackTrace();
}
}
try {
if(a.endsWith(".gif") || a.endsWith(".GIF"))
{
int j = (int)(Math.random() * 43467D + 10560D);
name = (Integer.toString(j) + ".gif");
ImageIO.write(imagew,"gif", new File(name));
}
if(a.endsWith(".jpg") || a.endsWith(".jpeg"))
{
int j = (int)(Math.random() * 43467D + 10560D);
name = (Integer.toString(j) + ".jpg");
ImageIO.write(imagew,"jpg", new File(name));
}
} catch(Exception ex){
ex.printStackTrace();
}
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
} while(true);
}
public static void main( String[] args )
{
new image();
}
private BufferedImage imagew;
public String zeile;
String a;
String name;
int a2;
}
Weiß jemand ganz spontan wo der Fehler liegt? Ich sitze jetzt echt schon einige Zeit davor, aber ich weiß keinen Ausweg.
Um nochmal klar zu gehen, das wirklich am Ende die richtige URL rauskommt, lasse ich die einzelnen Schritte nochmals ausgeben, das geht alles, nur beim Speichern hakt es.
lg.