2016-06-02 14 views
1

私はコードAはうまく動作しますが、私は内部に格納されたファイルを読み込む際に、コードBがうまく動作しない、私はコードにinputStream = new FileInputStream(mContext.getFilesDir()+"/hello_file");ファイルからFileInputStreamを取得すると、なぜフォルダを追加する必要がありますか?

を使用する必要があり、私は、フォルダを追加する必要がありますhttps://developer.android.com/guide/topics/data/data-storage.html#filesInternal

で記事を読みましたストレージ ?

コードA

String FILENAME = "hello_file"; 
String string = "hello world!"; 

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
fos.write(string.getBytes()); 
fos.close(); 

コードB

InputStream inputStream = null; 
    int size = 0; 
    try { 
       inputStream = new FileInputStream("hello_file"); 
       size=inputStream.available(); 
       Utility.LogError("Size Html: "+size); 
      }catch (Exception e){ 
       Utility.LogError("Error: Input"+e.getMessage()); 
      } 

答えて

1

ファイルストリームを使用取得するには:

openFileInput(String name)

openFileOutput(String name, int mode)


いくつかの詳細:

openFileInputopenFileOutputContextの方法です。

コードでは、openFileOutputを使用しています。 a srcをチェックした場合。

mContext.getFilesDir()+"/hello_file" 

に間違いを一言で言えば:

... 
File f = makeFilename(getFilesDir(), name); 
... 
FileOutputStream fos = new FileOutputStream(f, append); 
... 

ので、出力ストリームを生成するために使用されるパスを指定したパスと同じです:あなたはopenFileOutputは以下のないことがわかります

コードA:書き込み先:+ "/ hello_file"

コードB: "/ hello_file"を読み込もうとします

関連する問題