Startseite Forum
Willkommen, Besucher
Bitte anmelden oder registrieren.    Passwort vergessen?

Hilfe bei Programm das Links automatisch aufruft
(1 Leser) (1) Besucher
Zum Ende gehenSeite: 1
THEMA: Hilfe bei Programm das Links automatisch aufruft
#8661
Hilfe bei Programm das Links automatisch aufruft vor 5 Monaten, 2 Wochen Karma: 0
Hallo liebe Gemeinde.

Ich habe folgendes Problem.
Ich habe ein Programm welches Links ausliest und diese dann im Firefox öffnet.
Hier ne kurze Beschreibung wie das abläuft:

1. Ich trage die Links in eine Textdatei ein damit das Prog weiß wie die zu öffnenden Links aussehen müssen.
2. Ich rufe über das Firefoxaddon simplemail meine Emails ab.
3. Ich starte das Programm und es öffnet mir alle Links.

Soweit ist das ja schonmal toll. Allerdings würde ich mir wünschen das das Prog die Links alphabetisch sortiert aufruft.
Und nun die Frage ob jemand von euch mir das Prog umschreiben würde.
Ich kann mir nicht vorstellen das das sonderlich viel Aufwand ist aber ich selbst habe halt leider keine Ahnung davon.
Danke schonmal im vorraus.
Wenn ihr noch was braucht dann sagt es einfach.

MfG
matze

Code:

package de.PaidMailClicker.api;

import java.awt.Desktop;
import java.awt.HeadlessException;
import java.io.*;
import java.util.*;
import javax.swing.JFileChooser;

public class PaidMailClickerCore
{

    public PaidMailClickerCore()
    {
        simpleMailPath = null;
        fireFoxPath = null;
        pauseAtLine = 25;
        paidMailerIdentifierURLs = new ArrayList();
        URLs = new ArrayList();
    }

    private String getSimpleMailPath()
        throws HeadlessException, IOException
    {
        File config = new File("config.txt");
        fr = new FileReader(config);
        br = new BufferedReader(fr);
        Collection configLines = new ArrayList();
        for(boolean lineIsEmpty = false; !lineIsEmpty;)
        {
            String string = br.readLine();
            if(string != null)
                configLines.add(string);
            else
                lineIsEmpty = true;
        }

        fr.close();
        for(Iterator it = configLines.iterator(); it.hasNext();)
        {
            String configLine = (String)it.next();
            if(!configLine.startsWith("*"))
                if(configLine.contains("SimpleMailPath#"))
                {
                    int length = configLine.length();
                    int index = configLine.indexOf("#");
                    simpleMailPath = configLine.substring(index + 2, length);
                } else
                if(configLine.contains("paidmailerURL#"))
                {
                    int length = configLine.length();
                    int index = configLine.indexOf("#");
                    paidMailerIdentifierURLs.add(configLine.substring(index + 2, length));
                } else
                if(configLine.contains("FirefoxPath#"))
                {
                    int length = configLine.length();
                    int index = configLine.indexOf("#");
                    fireFoxPath = configLine.substring(index + 2, length);
                } else
                if(configLine.contains("pauseAtLine#"))
                {
                    int length = configLine.length();
                    int index = configLine.indexOf("#");
                    pauseAtLine = Integer.parseInt(configLine.substring(index + 2, length));
                }
        }

        if(simpleMailPath != null)
            return simpleMailPath;
        jfc.setFileSelectionMode(1);
        jfc.setDialogTitle("Bitte w\344hle Sie das Verzeichnis von SimpleMail aus");
        File directory = null;
        if(jfc.showOpenDialog(null) == 0)
        {
            directory = jfc.getSelectedFile();
            System.out.println(directory.getAbsolutePath());
        }
        simpleMailPath = directory.getAbsolutePath();
        return simpleMailPath;
    }

    public void start()
        throws HeadlessException, IOException
    {
        File file = new File((new StringBuilder(String.valueOf(getSimpleMailPath()))).append("\\attachments").toString());
        File files[] = file.listFiles();
        System.out.println("Verzeichnisse auslesen");
        for(int i = 0; i < files.length; i++)
            System.out.println(files[i].getAbsolutePath());

        Collection filesCollection = new ArrayList();
        for(int i = 0; i <= files.length - 1; i++)
        {
            String path = (new StringBuilder(String.valueOf(files[i].getAbsolutePath()))).append("\\message.txt").toString();
            File f = new File(path);
            filesCollection.add(f);
        }

        URLs = getURLsFromFiles(filesCollection, paidMailerIdentifierURLs);
        System.out.println("Gefundene URLs");
        for(Iterator it = URLs.iterator(); it.hasNext(); System.out.println(it.next()));
        export(cleanURLs(URLs));
    }

    public void export(Collection URLs)
        throws IOException
    {
        File clicker = new File("clicker.bat");
        fw = new FileWriter(clicker);
        bw = new BufferedWriter(fw);
        int index = 0;
        for(Iterator it = URLs.iterator(); it.hasNext();)
        {
            String url = (String)it.next();
            bw.append((new StringBuilder("\"")).append(fireFoxPath).append("\" ").toString());
            bw.append((new StringBuilder("\"")).append(url).append("\"").toString());
            bw.append("\r\n");
            if(index == pauseAtLine)
            {
                bw.append("Pause\r\n");
                index = 0;
            }
            index++;
        }

        bw.close();
        fw.close();
        Desktop.getDesktop().open(clicker);
        System.out.println((new StringBuilder("SimpleMailPfad :")).append(simpleMailPath).append("\n").append("Firefox Pfad: ").append(fireFoxPath).append("\n").append("cmd /c ").append(clicker.getAbsolutePath()).toString());
    }

    public Collection getURLsFromFiles(Collection files, Collection paidMailerIdentifierURLs)
        throws IOException
    {
        Collection URLs = new ArrayList();
        for(Iterator it = files.iterator(); it.hasNext(); fr.close())
        {
            File file = (File)it.next();
            fr = new FileReader(file);
            br = new BufferedReader(fr);
            for(boolean lineIsEmpty = false; !lineIsEmpty;)
            {
                String string = br.readLine();
                if(string != null)
                {
                    for(Iterator iter = paidMailerIdentifierURLs.iterator(); iter.hasNext();)
                    {
                        String paidMailIdentifierURL = (String)iter.next();
                        if(string.contains(paidMailIdentifierURL))
                            URLs.add(string);
                    }

                } else
                {
                    lineIsEmpty = true;
                }
            }

        }

        return URLs;
    }

    public Collection cleanURLs(Collection URLs)
    {
        Collection cleanedURLs = new ArrayList();
        for(Iterator it = URLs.iterator(); it.hasNext();)
        {
            String url = (String)it.next();
            if(url.contains("<a href="))
            {
                if(url.contains("\""))
                {
                    url = url.substring(url.indexOf("\"") + 1);
                    url = url.substring(0, url.indexOf("\""));
                } else
                if(url.contains("'"))
                {
                    url = url.substring(url.indexOf("'") + 1);
                    url = url.substring(0, url.indexOf("'"));
                } else
                {
                    int start = url.indexOf("=") + 1;
                    int end = url.indexOf(">");
                    if(end < start)
                        System.out.println((new StringBuilder("Die b\366\366\366\366\366se url")).append(url).toString());
                    else
                        url = url.substring(start, end);
                }
                cleanedURLs.add(url);
            } else
            {
                cleanedURLs.add(url);
            }
        }

        System.out.println("Cleaned URLs");
        for(Iterator it = cleanedURLs.iterator(); it.hasNext(); System.out.println(it.next()));
        return cleanedURLs;
    }

    public static void main(String args[])
        throws HeadlessException, IOException
    {
        PaidMailClickerCore core = new PaidMailClickerCore();
        core.start();
    }

    private String simpleMailPath;
    private String fireFoxPath;
    int pauseAtLine;
    private Collection paidMailerIdentifierURLs;
    private Collection URLs;
    private static JFileChooser jfc = new JFileChooser();
    private FileReader fr;
    private BufferedReader br;
    private FileWriter fw;
    private BufferedWriter bw;

}

matze0907
matze0907
Fresh Boarder
Beiträge: 2
graphgraph
Benutzer offline Hier klicken, um das Profil dieses Benutzers zu sehen
Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
 
#8668
Aw: Hilfe bei Programm das Links automatisch aufruft vor 5 Monaten, 2 Wochen Karma: 4
Da das nichts mit Javascript zu tun hat verschiebe ich es mal zu den anderen Programmiersprachen (Java).
micha
micha
Admin
Beiträge: 1581
graph
Benutzer offline Hier klicken, um das Profil dieses Benutzers zu sehen
Geburtstag: 30.09
Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
 
#8722
Aw: Hilfe bei Programm das Links automatisch aufruft vor 5 Monaten, 1 Woche Karma: 0
Weiß da wirklich keiner einen Rat???
matze0907
matze0907
Fresh Boarder
Beiträge: 2
graphgraph
Benutzer offline Hier klicken, um das Profil dieses Benutzers zu sehen
Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
 
Zum Anfang gehenSeite: 1

Login

Letzte Beiträge

Aw: Werbungsscript
Super_Mario 1.8.2010 3:41
Wenn du willst, kann ich dir mit den Bildern h...

Aw: Weiterempfehlungsscript
Super_Mario 1.8.2010 3:22
Hallo, für dein Vorhaben wirst du eher PHP ...

Aw: Kalender
Super_Mario 1.8.2010 2:51
Hallo mac00, ich hab dir das Javascript ent...

Kalender
mac00 31.7.2010 14:56
Hallo, ich habe den Kalender http://www.kos...

Weiterempfehlungsscript
mac00 31.7.2010 14:38
Hallo, ich suche ein Script, das folgendes kö...

Aw: Werbungsscript
Betzi 31.7.2010 12:08
Ach, nichts zu danken ;) Ja ok ich kümmer m...

Aw: Werbungsscript
Super_Mario 31.7.2010 4:19
Danke für den Link :-D Ja, wenn du willst,...

Aw: Speziellen Rechner der Werte addiert
Super_Mario 31.7.2010 4:05
Hallo, ich hab dir ein passendes Javascript...

Aw: Javascript funktioniert in Firefox nicht!!!
Super_Mario 31.7.2010 0:10
Die Bilder kannst du einfügen, indem du statt ...

Aw: Javascript funktioniert in Firefox nicht!!!
micha 31.7.2010 0:03
Die Links kannst du so angeben, wie es auf der...

mehr...