0

次の try/catch を使用して、フラッシュ カード アプリのパイプ区切りのテキスト ファイルを配列に解析しようとしています (各行は次のようになります: spanishword|englishword|spanishword.mp3 )。かなり単純ですが、私は完全な初心者です。これが私がまとめたもので、FileNotFoundException.

ファイルは res/raw/first100mostcommon.txt です。私は問題解決が好きで、解決策を手渡されることにあまり興味がありませんが、「ファイルが見つかりません」よりも良いヒントをいただければ幸いです。

String strFile = "R.raw.first100mostcommon";名前を付ける正しい方法だと思います。これは正しいですか?

try 
{
    String strFile = "R.raw.first100mostcommon";

    //create BufferedReader to read pipe-separated variable file

    BufferedReader br = new BufferedReader( new FileReader(strFile));
    String strLine = "";
    StringTokenizer st = null;

    int row = 0; 
    int col = 0;

    //read pipe-separated variable file line by line

    while( (strLine = br.readLine()) != null)
    {
        //break pipe-separated variable line using "|"
        st = new StringTokenizer(strLine, "|");

        while(st.hasMoreTokens())
        {
            //store pipe-separated variable values
            stWords[row][col] = st.nextToken();
            col++;
        }
        row++;                                   
        //reset token number
        col = 0;                          
    }     
}
catch(Exception e)
{
    text.setText("Exception while reading csv file: " + e);

}  
4

1 に答える 1

4

ファイルは res/raw/first100mostcommon.txt です。

それはファイルではありません。それは生の資源です。これは、開発マシンにファイルとして存在します。デバイスの APK (ZIP アーカイブ) のエントリに存在します。

として開発用マシンに保存されている生のリソースにアクセスするには、 などの任意のres/raw/first100mostcommon.txtを呼び出します。これにより、内容を読み取るために使用できる が返されます。getResources().openRawResource(R.raw.first100mostcommon)ContextActivityInputStream

于 2013-07-22T23:00:27.263 に答える