FTP OutputStream Timed out

Saschaa

Mitglied
Hallo,
ich möchte mit Java eine datei erstellen, 2 Strings (mit Leerzeichen getrennt) hineinschreiben und die Datei dann per FTP auf einen Server laden.

Java:
try {
 URL high_url = new URL("ftp://Username:Password@www.meine-adresse.de/highscore.txt;type=i");
 URLConnection conn = high_url.openConnection();
 OutputStream out = conn.getOutputStream(); // hier ist die Fehlermeldung (at fx.mainApp.running(mainApp.java:268))
 FileWriter fw = new FileWriter("highscore.txt");
 BufferedWriter bw = new BufferedWriter(fw);
 bw.write(punkte + " " + name.getText());
 bw.close();
 FileInputStream high_datei = new FileInputStream("highscore.txt");
 byte[] buffer = new byte[30]; //Von hier
 int bytesRead;
 while ((bytesRead = high_datei.read(buffer)) != -1) {
 out.write(buffer, 0, bytesRead);
} //bis hier, habe ich es noch nicht verstanden...Aber soweit kommt mein Programm ja gar nicht :/
 high_datei.close();
 out.close();
} catch (Exception e) {
  e.printStackTrace();
}

Dazu bekomme ich diese Fehlermeldung:
Code:
java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at sun.net.ftp.impl.FtpClient.doConnect(FtpClient.java:957)
    at sun.net.ftp.impl.FtpClient.tryConnect(FtpClient.java:917)
    at sun.net.ftp.impl.FtpClient.connect(FtpClient.java:1012)
    at sun.net.ftp.impl.FtpClient.connect(FtpClient.java:998)
    at sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:294)
    at sun.net.www.protocol.ftp.FtpURLConnection.getOutputStream(FtpURLConnection.java:507)
    at fx.mainApp.running(mainApp.java:268)
    at fx.controller$3.run(controller.java:97)
    at java.lang.Thread.run(Thread.java:745)

Ich finde den Fehler leider selbst nicht D:

Und kann ich die beiden Strings nicht direkt hochladen, ohne sie vorher als Datei zu speichern?

P.S.: Als Vorlage diente mir das hier: http://www.codejava.net/java-se/networking/ftp/upload-files-to-ftp-server-using-urlconnection-class
 
Zuletzt bearbeitet:
Habe es jetzt geschafft.
Es ergibt aus meiner Sicht überhaupt keinen Sinn, ich hab lediglich den Code ein wenig umgestellt und bei demselben Hoster einen anderen Account angelegt. Mit diesem hat es funktioniert.

Code:
Java:
        try {
            FileWriter fw = new FileWriter("highscore.txt");
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(punkte + " " + h_name.getText());
            bw.close();
            FileInputStream high_datei = new FileInputStream("highscore.txt");
            OutputStream out = new URL("ftp://ftp-username:ftp-password@ftp-adresse.com/verzeichnis/highscore.txt;type=i").openConnection().getOutputStream();
            byte[] buffer = new byte[30];
            int bytesRead;
            while ((bytesRead = high_datei.read(buffer)) != -1) {
                out.write(buffer, 0, bytesRead);
            }
            high_datei.close();
            out.close();
            new File("highscore.txt").delete();
        } catch (Exception e) {
            e.printStackTrace();
        }
 

Neue Themen


Zurück
Oben