Wie übertrage ich eine CSV Datei von meinem Android Gerät auf meinen Raspberry Pi per FTP ?

Ich habe bisher folgenden Code:

In FTP.java

public class FTP extends AsyncTask<String, Void, Void>{

@Override
protected  Void doInBackground(String... params) {

    StringBuffer sb = new StringBuffer("ftp://");
    sb.append(params[0]);
    sb.append(':');
    sb.append(params[1]);
    sb.append('@');
    sb.append(params[2]);
    //sb.append('/');
    sb.append("test.csv");
    sb.append(";type=a");

    BufferedInputStream bis = null;
    BufferedOutputStream bos = null;
    try {
        URL url = new URL(sb.toString());
        URLConnection urlc = url.openConnection();

        bos = new BufferedOutputStream(urlc.getOutputStream());
        bis = new BufferedInputStream(new FileInputStream(params[3]));

        int i;
        // read byte by byte until end of stream
        while ((i = bis.read()) != -1)
        {
            bos.write(i);
        }
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (bis != null) {
            try
            {
                bis.close();
            } catch (IOException ioe)
            {
                ioe.printStackTrace();
            }
        }
        if (bos != null) {
            try
            {
                bos.close();
            } catch (IOException ioe)
            {
                ioe.printStackTrace();
            }
        }
    }
    return null;
}

}

und rufe diesen über

new FTP().doInBackground(„pi“,„raspberry“, „192.168.2.106“, Environment.getExternalStorageDirectory().getPath() + „/config.csv“);

auf

Der Fehler soll in
bos = new BufferedOutputStream(urlc.getOutputStream());
dieser Zeile liegen.

Würde auch andere Lösungen ohne FTP Upload nehmen womit ich die CSV Datei auf den Pi bekomme.

Falsch kopiert, dass sollte nicht auskommentiert sein

Wie äußert sich der Fehler? Du bekommst doch bestimmt eine Fehlermeldung.
Der Code ansich scheint in Ordnung. Was ist das Ergebnis von Environment.getExternalStorageDirectory().getPath()?

Gruß
Heavy

Bin mitlerweile ein Stück weiter
new Thread() {
public void run() {
String path = Environment.getExternalStorageDirectory().getPath() + „/“ + File;
new FTP().doInBackground(„pi“, „raspberry“, url, path);
}
}.start();

hat soweit funktioniert, nur das die Verbindung zum server nicht klappte. jetzt nutze ich dafür eine externe App.

http://www.lysesoft.com/products/andftp/intent.html

nur versteh ich nicht ganz wie ich
Intent.ACTION_PICK.close_ui = true einbinden muss damit er am ende das Fenster wieder schließt.
Als fehler gibt er aus das er close_ui nicht kennt.

ACTION_PICK ist ein String, der hat kein Attribut close_ui: http://developer.android.com/reference/android/content/Intent.html#ACTION_PICK

Blöde Frage: was bedeutet „hat funktioniert“ bei einem FTP Transfer wenn keine Verbindung zum Server aufgebaut wird?

Nunja, die App ist nicht mehr Abgestürzt und hat nur eine IO Exception zurückgegeben, dass die Verbindung mit dem Server nicht möglich ist. Daher hab ich wohl die Anfrage iwie falsch aufgebaut.

Die Frage ist wie nutze ich das close_ui Attribut, welches unten auf der Seite erwähnt ist richtig?