0

私はプロジェクトアンドロイドアプリケーションに取り組んでいます..私のアプリケーションはfile.txtプロセスの目的で使用します。トレース ファイルを開くときにエラーが見つかりました:

 No such file or directory (2) when running my application.

マニフェストには、完全なインターネット アクセス許可があります。 コード行にエラーがない状態で保存しfile.txtます。res/raw/file.txtOS 4.1 (ジェリービーン) android"sdk" 21 を使用しています

どんな助けでも大歓迎です。

次に、仮想Android 4.2.2を使用してもう一度試しました...しかし、結果もエラーです

public List<String> read() {
    List<String> ls = new ArrayList<String>();
    try {          
        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("res/raw/katadasar.txt");
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        StringBuffer stringBuffer = new StringBuffer();
        String strLine;
        //Read File Line By Line
        while ((strLine = bufferedReader.readLine()) != null) {
        // Print the content on the console
        // System.out.println(strLine);
        ls.add(strLine.trim().toLowerCase());
        }
        //Close the input stream
        inputStreamReader.close();
        } catch (Exception e) {//Catch exception if any
        System.err.println("Error: " + e.getMessage());
        }
        return ls;
}

ログキャット

 07-24 03:38:38.710: D/dalvikvm(790): Not late-enabling CheckJNI (already on)
 07-24 03:38:39.060: I/dalvikvm(790): Turning on JNI app bug workarounds for target SDK     version 9...
 07-24 03:38:39.470: E/Trace(790): error opening trace file: No such file or directory (2)
 07-24 03:38:39.700: D/dalvikvm(790): GC_FOR_ALLOC freed 65K, 8% free 2403K/2608K,           paused 29ms, total 31ms
 07-24 03:38:39.720: I/dalvikvm-heap(790): Grow heap (frag case) to 3.944MB for 1536016-byte allocation
 07-24 03:38:39.770: D/dalvikvm(790): GC_FOR_ALLOC freed <1K, 6% free 3902K/4112K, paused 49ms, total 49ms
 07-24 03:38:39.820: D/dalvikvm(790): GC_CONCURRENT freed <1K, 6% free 3902K/4112K, paused 4ms+3ms, total 55ms
 07-24 03:38:40.120: D/(790): HostConnection::get() New Host Connection established 0x2a18c160, tid 790
 07-24 03:38:45.919: D/dalvikvm(790): GC_CONCURRENT freed 1505K, 38% free 2808K/4484K, paused 12ms+57ms, total 256ms
 07-24 03:38:54.389: D/dalvikvm(790): GC_CONCURRENT freed 121K, 31% free 3104K/4484K, paused 73ms+95ms, total 300ms
 07-24 03:38:58.909: D/dalvikvm(790): GC_CONCURRENT freed 269K, 28% free 3255K/4484K, paused 75ms+9ms, total 150ms
 07-24 03:38:58.909: D/dalvikvm(790): WAIT_FOR_CONCURRENT_GC blocked 69ms
 07-24 03:38:59.389: D/dalvikvm(790): GC_CONCURRENT freed 202K, 23% free 3477K/4484K, paused 75ms+8ms, total 138ms
 07-24 03:38:59.389: D/dalvikvm(790): WAIT_FOR_CONCURRENT_GC blocked 57ms
 07-24 03:38:59.669: D/dalvikvm(790): GC_CONCURRENT freed 575K, 24% free 3409K/4484K, paused 74ms+8ms, total 144ms
 07-24 03:38:59.679: D/dalvikvm(790): WAIT_FOR_CONCURRENT_GC blocked 33ms
 07-24 03:39:00.530: D/dalvikvm(790): GC_CONCURRENT freed 387K, 23% free 3492K/4484K, paused 29ms+89ms, total 223ms
4

1 に答える 1

0

raw フォルダー内のファイルを開くには、次の方法を試してください。

InputStream is = ctx.getResources().openRawResource(R.raw.katadasar);
InputStreamReader isr = new InputStreamReader(is);

また、キャッチ内のコードを現在のものから変更する必要があります。

catch (Exception e) {//Catch exception if any
    System.err.println("Error: " + e.getMessage());
}

これに、正しいエラーを出力するには:

catch (Exception e) {//Catch exception if any
    Log.e("YourTag", "Error:" +  e.getLocalizedMessage() );
}

上記のコードを (正しいエラー logcat 出力で) 試してみてください。うまくいかない場合は、logcat 出力を更新してエラーを見つけてください。

于 2013-07-24T05:18:28.283 に答える