1

getFilesDir() + ファイル名でファイルを作成していますが、取得しているのは filesfileName.txt です。fileName.txt ではなくこのファイル名を取得する理由を教えてください。ご心配ありがとうございます。


File file = new File(mContext.getFilesDir() + fileName+ ".txt");
            if (!file.exists()) {

                file.createNewFile();
                FileWriter f;
                try {

                    f = new FileWriter(mContext.getFilesDir() + fileName
                            + ".txt");
                    f.write(fbFriendList);
                    f.flush();
                    f.close();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
4

4 に答える 4

1

Path.Combineを使用してFullPath-Stringsを作成することをお勧めします。

File file = new File(Path.Combine(mContext.getFilesDir(), fileName+ ".txt"));
于 2012-07-26T09:38:58.580 に答える
1

ファイルパスを連結するために使用する代わりに、オーバーロードされたファイルのコンストラクターを使用する必要があります。+これにより、パスセパレーターが追加さ/れます。Fileまた、文字列で自分自身を繰り返す代わりに、引数として Filewriter コンストラクターに渡すこともできます。

File file = new File(mContext.getFilesDir(), fileName+ ".txt");

FileWriter f;

try {
    f = new FileWriter(file);
    f.write(fbFriendList);
    f.flush();
    f.close();
} catch (IOException e1) {
    e1.printStackTrace();
}

詳細については、FileおよびFileWriterの公式 API ドキュメントを参照してください。

于 2012-07-26T09:53:19.507 に答える
0

を追加する必要があります"/"

File file = new File(mContext.getFilesDir() + "/" + fileName+ ".txt");

openFileOutput(String name, int mode ) メソッドを使用することをお勧めします- プライベートファイルを作成して内部ストレージに書き込みます。

Writer out
   = new BufferedWriter(
           new OutputStreamWriter(openFileOutput(FILENAME, Context.MODE_PRIVATE)));
于 2012-07-26T09:39:43.637 に答える
0

こうすれば

File file = new File(podcastFolder + File.separator + fileName + ".txt");
于 2012-07-26T09:41:55.007 に答える