質問するログイン新規登録

回答編集履歴

4

回答の方向性を改めた

2018/05/08 16:21

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -1,14 +1,12 @@
1
1
  システムのプライベート領域にAPIを使ってファイルを書き出したとき、その標準的な保存先は
2
2
  /data/user/0/<パッケージ名>/files/
3
- の下のはずです。ですから、絶対パスの記述filesが足なかったのだろうと思いますが、filesを含まないもの「正しフルパスであることが分かっ」の何故でしょう?
3
+ の下のはずです。ですから、格納先のフルパスの認識があったfilesが抜けていた)だけでないのでしょう
4
4
 
5
- ただし、絶対パスの直接入力による方法は推奨されません。ご承知のようですがAndroidバージョンによって変化することがありますし、それ以外にもメーカーの独自実装によって違う場所が標準とされることもあります(そのためにfilesを含まない場所に格納されたとか?そんな端末あるのかな?)
5
+ ただし、フルパスの直接入力による方法は推奨されません。ご承知のようですがAndroidバージョンによって変化することがありますし、それ以外にもメーカーの独自実装によって違う場所が標準とされることもあります。
6
6
 
7
7
  getFileStreamPath()は引数にファイル名を入れてそのフルパスを返しますが、格納するパスだけを得たいならgetFilesDir()というAPIもあります。
8
8
  ```Java
9
9
  File file = new File(getFilesDir() + "/" + "a.jpg");
10
10
  if (file.exists())
11
11
  ```
12
- すれば、「正しい結果」得られるのではないかと思います。
12
+ しても、「正しい結果」得られるのではないかと思います。
13
-
14
- でもこれで回答になるんでしょうか?「APIを使わずに解決したい」のか、こうした別のAPIを提示すれば良かったのか、何を回答とすれば要件を満たせるのか今ひとつわかりません・・・。

3

コード間違い

2018/05/08 16:21

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  getFileStreamPath()は引数にファイル名を入れてそのフルパスを返しますが、格納するパスだけを得たいならgetFilesDir()というAPIもあります。
8
8
  ```Java
9
- File privatefile = new File(getFilesDir() + "/" + "a.jpg");
9
+ File file = new File(getFilesDir() + "/" + "a.jpg");
10
10
  if (file.exists())
11
11
  ```
12
12
  とすれば、「正しい結果」は得られるのではないかと思います。

2

修正・追記

2018/05/08 07:22

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -4,4 +4,11 @@
4
4
 
5
5
  ただし、絶対パスの直接入力による方法は推奨されません。ご承知のようですがAndroidバージョンによって変化することがありますし、それ以外にもメーカーの独自実装によって違う場所が標準とされることもあります(そのためにfilesを含まない場所に格納されたとか?そんな端末あるのかな?)。
6
6
 
7
- getFileStreamPath()は引数にファイル名を入れてそのフルパスを返しますが、格納するパスだけを得たいならgetFilesDir()というAPIもあります。でもこれで回答になるんでしょうか?何を回答とすれば要件を満たせるのか、今ひとつわかりません・・・。
7
+ getFileStreamPath()は引数にファイル名を入れてそのフルパスを返しますが、格納するパスだけを得たいならgetFilesDir()というAPIもあります。
8
+ ```Java
9
+ File privatefile = new File(getFilesDir() + "/" + "a.jpg");
10
+ if (file.exists())
11
+ ```
12
+ とすれば、「正しい結果」は得られるのではないかと思います。
13
+
14
+ でもこれで回答になるんでしょうか?「APIを使わずに解決したい」のか、こうした別のAPIを提示すれば良かったのか、何を回答とすれば要件を満たせるのか今ひとつわかりません・・・。

1

追記

2018/05/08 07:16

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -2,4 +2,6 @@
2
2
  /data/user/0/<パッケージ名>/files/
3
3
  の下のはずです。ですから、絶対パスの記述にfilesが足りなかったのだろうと思いますが、filesを含まないものが「正しいフルパスであることが分かった」のは何故でしょう?
4
4
 
5
+ ただし、絶対パスの直接入力による方法は推奨されません。ご承知のようですがAndroidバージョンによって変化することがありますし、それ以外にもメーカーの独自実装によって違う場所が標準とされることもあります(そのためにfilesを含まない場所に格納されたとか?そんな端末あるのかな?)。
6
+
5
7
  getFileStreamPath()は引数にファイル名を入れてそのフルパスを返しますが、格納するパスだけを得たいならgetFilesDir()というAPIもあります。でもこれで回答になるんでしょうか?何を回答とすれば要件を満たせるのか、今ひとつわかりません・・・。