Autore Topic: Leggere un file dall'FTP  (Letto 439 volte)

Offline Friz02

  • Utente junior
  • **
  • Post: 104
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s3 neo Samsung
  • Sistema operativo:
    windows 7
Leggere un file dall'FTP
« il: 01 Febbraio 2015, 12:48:53 CET »
0
Buona domenica a tutti,
devo semplicemente leggere un file dall'FTP, e confrontare un numero scritto all'interno del file con un altro int presente nella mia app.
Ho gia trovato un tutorial che penso faccia al caso mio:
Codice (Java): [Seleziona]
FTPClient con = new FTPClient();
        try
        {
            con.connect("ftp.mioserver.it");
            if (con.login("username", "password"))
            {
                con.enterLocalPassiveMode(); // important!
                InputStream in = con.retrieveFileStream("/README.txt"); //
                InputStreamReader ins=new InputStreamReader(in);
                BufferedReader br= new BufferedReader(ins);
                StringBuilder sb= new StringBuilder();
                String linea=br.readLine();
                while(linea!=null){
                        sb.append(linea);
                        linea=br.readLine();
                }
                tv.setText(sb.toString());
            }
        }
        catch (Exception e)
        {
                e.printStackTrace();
                //tv.setText(e.toString());
       }


        try
        {
            con.logout();
            con.disconnect();
        }
        catch (IOException e)
        {
                e.printStackTrace();
                //tv.setText(e.toString());
        }
Mi sono fermato quasi subito perchè nella mia app non vengono riconosciuti questi due metodi enterLocalPassiveMode() e  retrieveFileStream("/README.txt").....premetto che ho gia scaricato la libreria ftp4j-1.7.2 e caricata correttamente in Android Studio.....forse non è la libreria giusta?

Offline tonno16

  • Utente storico
  • *****
  • Post: 1200
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Leggere un file dall'FTP
« Risposta #1 il: 01 Febbraio 2015, 12:57:13 CET »
0
Quella libreria una sola volta l'ho usata. Se hai seguito qualche guida, è pensabile che tale FtpClient abbia i metodi da te citati. Non so.

Comunque qua sul forum....http://www.anddev.it/index.php?topic=265.0

Offline Friz02

  • Utente junior
  • **
  • Post: 104
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s3 neo Samsung
  • Sistema operativo:
    windows 7
Re:Leggere un file dall'FTP
« Risposta #2 il: 01 Febbraio 2015, 16:22:59 CET »
0
Ok cambiato libreria, ho messo org.apache.commons.net.ftp.FTPClient e  mi riconosce quei metodi.
No che ora funzioni tutto, anzi ho una sfilza di errori!!.....
Ad esempio:
02-01 16:18:50.237  30650-30650/com.corso_android.myapp2.helloworld D/OpenGLRenderer﹕ Enabling debug mode 0
02-01 16:18:51.727  30650-30650/com.corso_android.myapp2.helloworld D/lingue﹕ nuovo onCreate
02-01 16:18:51.737  30650-30650/com.corso_android.myapp2.helloworld E/MoreInfoHPW_ViewGroup﹕ Parent view is not a TextView
02-01 16:18:52.747  30650-30650/com.corso_android.myapp2.helloworld D/ProgressBar﹕ updateDrawableBounds: left = 0
02-01 16:18:52.747  30650-30650/com.corso_android.myapp2.helloworld D/ProgressBar﹕ updateDrawableBounds: top = 0
02-01 16:18:52.747  30650-30650/com.corso_android.myapp2.helloworld D/ProgressBar﹕ updateDrawableBounds: right = 96
02-01 16:18:52.747  30650-30650/com.corso_android.myapp2.helloworld D/ProgressBar﹕ updateDrawableBounds: bottom = 96
02-01 16:18:56.017  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ java.lang.NullPointerException: lock == null
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at java.io.Reader.<init>(Reader.java:64)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at java.io.InputStreamReader.<init>(InputStreamReader.java:122)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at java.io.InputStreamReader.<init>(InputStreamReader.java:59)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at com.corso_android.myapp2.helloworld.MainActivitySetting$BackgroundTask.doInBackground(MainActivitySetting.java:181)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at com.corso_android.myapp2.helloworld.MainActivitySetting$BackgroundTask.doInBackground(MainActivitySetting.java:159)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:288)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/System.err﹕ at java.lang.Thread.run(Thread.java:841)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld W/dalvikvm﹕ threadid=11: thread exiting with uncaught exception (group=0x41b75da0)
02-01 16:18:56.027  30650-30855/com.corso_android.myapp2.helloworld E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
    Process: com.corso_android.myapp2.helloworld, PID: 30650
    java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:300)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
            at java.util.concurrent.FutureTask.run(FutureTask.java:242)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: java.lang.NullPointerException
            at com.corso_android.myapp2.helloworld.MainActivitySetting$BackgroundTask.doInBackground(MainActivitySetting.java:201)
            at com.corso_android.myapp2.helloworld.MainActivitySetting$BackgroundTask.doInBackground(MainActivitySetting.java:159)
            at android.os.AsyncTask$2.call(AsyncTask.java:288)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)
02-01 16:18:56.837  30650-30650/com.corso_android.myapp2.helloworld E/WindowManager﹕ android.view.WindowLeaked: Activity com.corso_android.myapp2.helloworld.MainActivitySetting has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{42a14390 V.E..... R......D 0,0-684,192} that was originally added here
            at android.view.ViewRootImpl.<init>(ViewRootImpl.java:466)
            at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:267)
            at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
            at android.app.Dialog.show(Dialog.java:289)
            at com.corso_android.myapp2.helloworld.MainActivitySetting$BackgroundTask.onPreExecute(MainActivitySetting.java:165)
            at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
            at android.os.AsyncTask.execute(AsyncTask.java:535)
            at com.corso_android.myapp2.helloworld.MainActivitySetting.start(MainActivitySetting.java:156)
            at com.corso_android.myapp2.helloworld.MainActivitySetting$2.onClick(MainActivitySetting.java:148)
            at android.view.View.performClick(View.java:4640)
            at android.view.View$PerformClick.run(View.java:19421)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5476)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
            at dalvik.system.NativeStart.main(Native Method)
02-01 16:19:07.427  30650-30855/com.corso_android.myapp2.helloworld I/Process﹕ Sending signal. PID: 30650 SIG: 9