私は、特定のディレクトリ(.txtファイル)にファイルを作成し、そこにいくつかのデータを格納するプログラムを開発しようとしています(例えばStrings)。私はまた、ファイルにアクセスすることができます(私はファイルエクスプローラに私は作成したファイルを表示することができますし、多分別のプログラムや何かで編集することができます)にアクセスすることができます。Androidの特定のディレクトリに.txtファイルを作成する方法は?
私は多くのことを試しましたが、これを機能させることはできません。私も怒鳴る権限を追加しました
public void createFile(View view) throws IOException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd");
Date now = new Date();
String fileName = formatter.format(now) + ".txt";
String filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Sonda Drive Test";
File mypath = new File(filepath);
if(!mypath.exists()) {
mypath.mkdir();
}
//now the mkdir returns true isntead of false
File myfile = new File(mypath, fileName);
try{
if(!myfile.exists()){
txtDebug.setText("Não existe ficheiro!");
myfile.createNewFile();
}
else{
txtDebug.setText("Já existe ficheiro!");
}
}catch (Exception e){
txtDebug.setText("Erro!");
}
}
:ここ
は、私は、ATMを使用していたコードである<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
の問題は、私は
myfile.createNewFile();
を行うときアプリケーションは停止して終了します。しかし、私がその行にコメントすると、ファイルも作成されません。
私は間違っていますか?
編集:私はAPI 22のためにこの作業を行うように管理します。私はAPI 25のためにどのようにそれを行うことができますか?
としてmypathで定義Crashes'あなたは、このことにより、正確に何を意味するのですか?あなたは例外/スタックトレースのために何を得るのですか? LogCatの詳細ログ出力をint [編集]してください。文脈の欠如のために閉会する投票。 –
'mypath.mkdir();'ディレクトリの作成に失敗する可能性があるため、戻り値を確認してください。 falseを返した場合は、そのことを示すユーザにトーストを表示して戻ります。 – greenapps
"myfile"が存在しないため、ファイルが存在するかどうかを確認する必要があるため、このクラッシュが発生する可能性があります。if(!myfile.exists()) –