-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

ファイルを読み取ろうとしていますが、 が作成されています。 を作成してから、その入力ストリームからファイルを読み取るOutputStream必要があります。inputStream

これは、非常に役立つコードを含む素晴らしい記事です。これにより、正しい方向に向かうはずです。

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

これが役立つことを願っています!

幸運を祈ります

于 2012-07-25T16:51:47.813 に答える
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 に答える