2013-07-25 2 views
0

3 분마다 FTP 서버에서 파일을 다운로드 한 다음 읽을 수있는 앱이 있습니다. 제 문제는이 FTP 전송은 앱을 시작할 때만 작동합니다. 다음 번에 타이머가이 방법을 실행하면 앱이 다운됩니다. 여기 내가 타이머FTP에서 파일 다운로드

Timer t2 = new Timer(180000, new ClockListener2()); 
    t2.start(); 

다음

public class ClockListener2 implements ActionListener { 
    public void actionPerformed(ActionEvent ae) { 
    downloadFtp(); 
    } 

현재 FTP 전송 방법을 사용하여 메소드를 호출하는 방법입니다

사람이 전에이 문제를 충족 않았다
public void downloadFtp() { 
    FTPClient client = new FTPClient(); 
    FileOutputStream fos = null; 
    try { 
     client.connect("192.168.1.102"); 
     client.login("anonymous", ""); 
     String filename = "text.txt"; 
     fos = new FileOutputStream(filename); 
     client.retrieveFile("/" + filename, fos); 
     client.logout(); 
     client.disconnect(); 
     if (fos != null) { 
      fos.close();} 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 

? 무엇이 잘못 될 수 있습니까?

감사합니다.

+0

e.printStackTrace()의 결과는 무엇입니까? 여기 넣어 줄 수 있니? – rahulserver

+1

'finally'블록에서 스트림의 연결을 끊고 닫으려고하면 예외가 발생해도 스트림이 정리되도록해야합니다. 또한 Swing 응용 프로그램이 아니라면'SwingWorker'를'javax.swing.Timer' 또는'java.util.Timer'에 사용합니다. – MadProgrammer

+0

알아 낸 내용은 응용 프로그램이 아무 문제없이 Windows에서 실행되지만 Linux에서는 실행됩니다. (Xubuntu) 충돌합니다. 두 시스템 모두 java 1.7.0_25와 동일한 버전이 있습니다. Coulnd는 코드 대신 Java 런타임에서 문제가됩니까? –

답변

1

장치를 ADB와 연결하여 장치에서 인쇄 한 로그를 볼 수 있습니다 (logcat 참조). 앱이 추락하면 다음과 같이 치명적인 예외 추적이 표시됩니다 (매우 유용한 경우가 많음).

07-24 09:33:59.285: ERROR/AndroidRuntime(4858): FATAL EXCEPTION: main 
    java.lang.NullPointerException 
    at ***.daifan.activity.***Activity.onCreateOptionsMenu(***ListActivity.java:96) 
    at android.support.v4.app.Watson.onCreatePanelMenu(Watson.java:44) 
    at com.actionbarsherlock.ActionBarSherlock.callbackCreateOptionsMenu(ActionBarSherlock.java:559) 
    at com.actionbarsherlock.internal.ActionBarSherlockNative.dispatchCreateOptionsMenu(ActionBarSherlockNative.java:65) 
    at com.actionbarsherlock.app.SherlockFragmentActivity.onCreatePanelMenu(SherlockFragmentActivity.java:165) 
    at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:417) 
    at com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:768) 
    at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:3009) 
    at android.os.Handler.handleCallback(Handler.java:605) 
    at android.os.Handler.dispatchMessage(Handler.java:92) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:4514) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760) 
    at dalvik.system.NativeStart.main(Native Method) 
+0

질문에 android 태그가 표시되지 않았습니다. – rahulserver

관련 문제