Android:没有这样的文件名或目录

时间:2012-02-28 20:45:38

标签: android ftp filestream

我正在编写一个Android应用程序,它必须从FTP服务器下载文件。 似乎我可以毫无问题地从FTP服务器读取文件,但是当我尝试打开它时,应用程序会抛出以下错误:没有这样的文件名或目录。

代码:

FTPClient ftp = new FTPClient  ;  // The ftpclient of apache commons
// all the code for connecting to the server 

FileOutputStream fOut  = openFileOutput("ipfile.text" , Context.MODE_WORLD_WRITEABLE) ; 
    ftp.retrieveFile("ip.text" , fOut) ; 



    Log.v("As" , "Read file with succes from drivehq") ;

    String helpStr = "ERROR" ; 
    byte[] inputBuffer = new byte [1024] ; 

     try{
         FileInputStream fis = new FileInputStream("/data/data/ipfile.text") ;
         fis.read(inputBuffer) ;
         fis.close() ; 
         helpStr = new String (inputBuffer) ; 
         Log.v("As" , "Read file from " + helpStr) ; 



     }
     catch(Exception e) {
         Log.v("As" ," Unable to read the ip-file " + e.getMessage()) ;  
     }

Logcat:

 02-28 21:31:38.741: V/As(3992): Logged on with success to drivehq
02-28 21:31:38.911: V/As(3992): Changed working directory on drivehq
02-28 21:31:39.972: V/As(3992): Read file with succes from drivehq
02-28 21:31:39.972: V/As(3992):  Unable to read the ip-file  ipfile.text (No such file or directory)

谢谢,汤姆

1 个答案:

答案 0 :(得分:1)

尝试关闭FileOutputStream“fOut”

可能该流已锁定文件,导致您无法在创建文件时读取该文件。

FileOutputStream fOut  = openFileOutput("ipfile.text" , Context.MODE_WORLD_WRITEABLE) ; 
ftp.retrieveFile("ip.text" , fOut) ; 
fOut.flush();
fOut.close();

此外,您应该以与使用

打开输出文件类似的方式打开文件
FileInputStream fis = openFileOutput("ipfile.text");

这实际上可能是您的阅读不起作用而不是上述原因的原因。