-1

我正在尝试通过 FTP 检索文件,但在 LogCat 中出现以下错误:java.io.FileNotFoundException :/config.txt(只读文件系统)

我已验证该文件存在于服务器上,我可以通过在 Web 浏览器中双击它来读取它。

有人可以帮忙吗?这是我正在使用的代码:

 FTPClient client = new FTPClient();
 FileOutputStream fos = null;

 try {
     client.connect("xxx.xxx.xxx.xxx");
     client.enterLocalPassiveMode();
     client.login("user", "pass");

     //
     // The remote file to be downloaded.
     //
     String filename = "config.txt";
     fos = new FileOutputStream(filename);

     //
     // Download file from FTP server
     //
     client.retrieveFile("/" + filename, fos);
 } catch (IOException e) {
     e.printStackTrace();
 } finally {
     try {
         if (fos != null) {
             fos.close();
         }
         client.disconnect();
     } catch (IOException e) {
         e.printStackTrace();
     }
4

2 回答 2

0

您无法将文件保存在手机的根目录中。用于Environment.getExternalStorageDirectory()获取 SD 卡目录的文件对象并将文件保存在那里。也许为它创建一个目录。为此,您需要许可android.permission.WRITE_EXTERNAL_STORAGE

示例代码:

try {
    File external = Environment.getExternalStorageDirectory();
    String pathTofile = external.getAbsolutePath() + "/config.txt";
    FileOutputStream file = new FileOutputStream(pathTofile);
} catch (Exception e) {
    e.printStackTrace();
}
于 2012-07-25T15:39:28.630 回答
0

您正在尝试读取文件,但您已经创建了一个OutputStream,您需要创建一个inputStream然后从该输入流中读取文件。

这是一篇很棒的文章,附带的代码非常有用。这应该让你朝着正确的方向前进。

http://www.roseindia.net/java/beginners/java-read-file-line-by-line.shtml

我希望这有帮助!

祝你好运

于 2012-07-25T16:51:47.813 回答