String-Manipulation beim Ablauf in Eclipse und als JAR-File

Diskutiere String-Manipulation beim Ablauf in Eclipse und als JAR-File im Allgemeine Java-Themen Bereich.
T

Tueftler

Hallo zusammen,
woran kann es liegen, wenn in der JAR mit identischem Code andere String-Teile extrahiert werden, als in der IDE? Hab mal eine Umwandlung des Strings ins UTF8-Format probiert, bringt aber nichts.
Hier der Code:
Code:
        Scanner scanner = new Scanner(new URL(url).openStream());
        while(scanner.hasNextLine()){
            string+=scanner.nextLine();
        }
        scanner.close();
        //string=convertToUTF8(string);
        if(string.contains("Error 404"))throw new Exception();
        String wort=null;
        for(int i=0;i<25;i++) {
            wort="";
            int beginn=string.indexOf("data-default=");
            beginn+=14;
            string=string.substring(beginn);
            int ende=string.indexOf("\"");
            wort=string.substring(0,ende);
            formen.add(wort);
        }

public static String convertToUTF8(String s) {
        String out = null;
        try {
            out = new String(s.getBytes("UTF-8"), "ISO-8859-1");
        } catch (java.io.UnsupportedEncodingException e) {
            return null;
        }
        return out;
    }
 
Zuletzt bearbeitet:
T

Tueftler

Kennzeichnet die URL vielleicht in der IDE ein anderes Ziel?
Wie gesagt, der Code ist gleich, ebenso die variable "url". Die url spricht eine Website an, hinter der ein Server hängt. Der ändert die Website. Dieser Stream (der Response des Servers) landet ja normalerweise in einem Web-Browser. Ich hol den aber mit Scanner in meinen String. Klappt unter Eclipse auch alles wunderbar. Bei meiner Spurensuche bin ich drauf gekommen, dass sich die Länge des Strings unterscheidet: In der jar ist die Länge um 1/4 kürzer als in Eclipse. Aber warum?
 
N

Neumi5694

Da es hier um Zeichensätze geht ... einen möglichen Unterschied gibt's bei der Quelle deiner Strings, bzw. wo dein Programm läuft.
Die Windows Command Line (bzw. Batch-Dateien) arbeitet z.B. mit ISO850, eine Windows-Verknüpfung nutzt hingegen ANSI.

Folge aber erst mal dem Tip mit dem Ausgeben der Strings, um zu sehen, was Sache ist.
 
T

Tueftler

Hab mal den Tipp mit der Stringausgabe befolgt und das hat mich in der Tat ein kleines Stück weitergebracht:
Die Adresse der angesteuerten Site ist so aufgebaut: https://anbieter/gr/suchwort
Das Suchwort kann man auch händisch über ein input-Feld in der site eingeben und die Ausgabe mit return bewirken. In der IDE verwende ich die Adresse wie oben genannt. In der jar-Version aber bekomme ich den Inhalt der https://anbieter/gr und die hat weder eine Eingabe- noch eine Ausgabemaske.
 
N

Neumi5694

Hast du denn schon überprüft, ob die URL, die du schickst, die richtige ist?
Probier's gegebenenfalls auch mal hardcodiert ohne Scanner.
 
Thema: 

String-Manipulation beim Ablauf in Eclipse und als JAR-File

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben