0

数日間検索しましたが、 bufferedReader を使用して内部ストレージのファイルから読み取るだけです。InputStream を使用して内部ストレージ上のファイルから読み取ることはできませんか?

private void dailyInput()
{    
    InputStream in;
    in = this.getAsset().open("file.txt");
    Scanner input = new Scanner(new InputStreamReader(in));
    in.close();
}

これをinput.next() と共に使用して、必要なデータをファイルで検索します。すべて正常に動作しますが、新しいファイルを内部ストレージに保存し、すべてを bufferedReader に変更せずにそれらから読み取りたいと考えています。これは可能ですか、それとも弾丸を噛んですべてを変更する必要がありますか? 参考までに、書く必要はありません。読むだけです。

4

2 に答える 2

0

内部ストレージのサブフォルダーからファイルを読み取る条件に直面した場合は、次のコードを試すことができます。コンテキストを渡そうとすると、 openFileInputで問題が発生することがあります。ここに関数があります。

    public String getDataFromFile(File file){  
     StringBuilder data= new StringBuilder();  
    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String singleLine;
        while ((singleLine= br.readLine()) != null) {
            data.append(singleLine);
            data.append('\n');
        }
        br.close();
        return data.toString();
    }
    catch (IOException e) {
        return ""+e;
    }
}
于 2016-06-21T10:44:10.807 に答える