2012-04-05 6 views
-1

私はこれを過去数時間にわたって私自身でやろうとしてきましたが、それを少し失っています。Javaを使用しています。 ContextとopenFileInputを使用したファイルからの読み込みの問題

私がしたいのは、ファイルを開き、それを読んでコンソールに表示することです。それでおしまい。

私はAndroid 2.3.3用に開発するためにEclipseを使用しています。

私はここで見つけたコードと他のサイトで、さまざまな方法を使ってみました。ここで私は今持っていると何がどのようにそのすべてと呼ばれる:

setContentView(new TestMap(this)); 

testMapクラス:同じクラスで

TestMap(Context context){ 
     super(context); 
     // might need to be on the panel class 
     loadTileFile("worldonelayout.txt", context); 

private void loadTileFile (String filename, Context context){ 
     FileInputStream input = null; 
     InputStreamReader reader = null; 

     char[] inputBuffer = new char[256]; 
     String data = null; 

     try { 
      input = context.openFileInput("worldonelayout.txt"); 
      reader = new InputStreamReader(input); 
      reader.read(inputBuffer); 
      data = new String(inputBuffer); 
      System.out.println(data); 
      Toast.makeText(context, "Text read", Toast.LENGTH_SHORT).show(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
      Toast.makeText(context, "Text not read", Toast.LENGTH_SHORT).show(); 

     } finally { 
      try { 
       input.close(); 
       reader.close(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
のOnCreate関数で

このコードは機能しません。それは常に例外に当たる。

"/data/data/com.name.somethingiremoved/files/worldonelayout.txt(そのようなファイルまたはディレクトリはありません)"。

これは、最初のCATCHで発生します。私のファイルはルートディレクトリにあります:Documents\Eclipse\workspace\project\worldonelayout.txt。また、左側のブラウザのファイルを見ることができます

私はここと他のサイトで見たことから、Activityから派生したContextクラスとは何か関係ありますか?私は私の活動と同じクラスにこのコードを載せたくありません。これには道がありますか?

私に何か必要なものがあれば教えてください。

+0

どのような例外がスローされますか? –

+0

@OllieC /data/data/com.name.somethingiremoved/files/worldonelayout.txt(そのようなファイルやディレクトリはありません)。最初のCATCH。私のファイルは、ルートディレクトリ:Documents \ Eclipse \ workspace \ project \ worldonelayout.txtにあります。私はまた、左のブラウザでファイルを見ることができます – maffo

+0

アンドロイドでsystem.out.printlnを使用できますか?また、あなたのログキャッチエラーを表示することをお勧めします – Stagleton

答えて

1

開いているファイルは、コンピュータのファイルシステムではなく、電話のファイルシステム上のファイルを探しています。 /data/data/com.name.somethingiremoved/files/worldonelayout.txtにある電話で、それが見つかるはずの場所を正確に教えてくれます。

+0

これは意味します。このファイルを電話に追加する方法を知っていますか? – maffo

+0

実際の電話機をマウントするか、エミュレータをマウントするhttp://stackoverflow.com/questions/2808632/manually-put-files-to-android-emulator-sd-card – HannahMitt

関連する問題