ファイルを内部メモリに保存しようとしていますが、これも自分のアプリケーションでのみ読めるようにしてください。 今まで私はこれを試しました。アンドロイドのアプリケーションディレクトリのデータを保存、読み取り、保護しています
String filesave = Environment.getExternalStorageDirectory()+""+getFilesDir()+"/.fkfk";
File f = new File(filesave);
if (!f.exists()){
f.mkdir();
}
File sd = Environment.getExternalStorageDirectory();
Log.e("files", Environment.getExternalStorageDirectory()+f.getAbsolutePath());
String path = Environment.getExternalStorageDirectory()+"/.NEWFolders/hdfc0002.jpg";
File toCopy = new File(path);
if (toCopy.exists()){
Log.e("ok","got the path");
try{
if (sd.canWrite()) {
File source= toCopy;
File destination=f;
if (source.exists()) {
FileChannel src = new FileInputStream(source).getChannel();
FileChannel dst = new FileOutputStream(destination).getChannel();
if (dst != null && source != null) {
dst.transferFrom(src, 0, src.size());
}
if (src != null) {
src.close();
}
if (dst != null) {
dst.close();
}
}else {
FileChannel src = new FileInputStream(source).getChannel();
FileChannel dst = new FileOutputStream(destination).getChannel();
if (dst != null && source != null) {
dst.transferFrom(src, 0, src.size());
}
if (src != null) {
src.close();
}
if (dst != null) {
dst.close();
}
}
}
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
ただし、このコードスニペットはFileNotFound例外をスローしています。 同じことをお勧めします。これが混ざっている
私はアプリケーションのためのプライベートデータディレクトリを使用したい場合は、この詳細についてお教えください –
提供されているアンドロイドのドキュメントへのリンクを参照してください。 –