2012-03-12 2 views
1

だから、これはかなり恥ずかしい質問ですが、私はそれにすべての単語を読んで、配列に追加しますテキストファイルやJavaを持って、私は知りませんcompはそれを得ることができますか?誰かが私に教えてくれますか?私のコードは、通常のJavaアプリケーションで動作するので、Androidで動作するはずです。android text file importテキストファイルを保存する場所はどこですか?どのフォルダそうのように、テキストファイルをどこに置くか

答えて

1

を取得するために

InputStream stream = getAssets().open(filename); 

を使用することができます。

AssetsManager assets = context.getAssets(); 

open()メソッドで入力ストリームを開くことができます。

InputStream inputStream = assets.open("filename"); 

InputStreamオブジェクトは、IOパッケージの標準Javaオブジェクトです。このストリームは、あなたが望むオブジェクトデコレータ(Reader、BufferedReaderなど)で飾ることができます。あなたが電話にAPK(それが膨張していない)のうち、このファイルを移動したい場合は

あなただけの出力ストリームを使用して、入力ストリームからファイルのバイトをコピーすることができます。書き込みディレクトリにアクセス権がなければならないことに注意してください(電話機がルートされ、JNIを介してネイティブシェルコマンドを実行するためのシェルインターフェイスを作成している場合はこれが可能です)。

try { 
    InputStream inputStream = this.getAssets().open("test.txt"); 
    BufferedReader buffer = new BufferedReader(new Reader(inputStream)); 

    String line; 
    while((line = buffer.readLine()) != null) { 
     tots.add(line); 
    } 
} 
catch(IOException e) { 
    e.printStackTrace(); 
} 

UPDATEはそれをテストしていませんが、私は、これは何をしたいと思います。

+0

uは< >ファイル名に何が起こるのかのように最初にすることを説明してもらえis test.txt –

+0

アセットを取得するにはコンテキストオブジェクトが必要です。IEのgetAssets()メソッドはコンテキストメソッドです。したがって、あなたがActivityまたはContextWrapperから継承したものであれば、単にthis.getAssets()と言うことができます。それ以外の場合は、Assets Managerを取得しようとしている関数/メソッドへのコンテキスト参照を渡す必要があります。 – jjNford

+0

try { FileInputStream textfl =(FileInputStream)getAssets()。open( "test.txt"); DataInputStreamは=新しいDataInputStream(textfl)です。 BufferedReader r =新しいBufferedReader(新しいInputStreamReader(is)); 文字列strLine; ながら(!(strLine変数の値= r.readLine())= NULL){ tots.add(strLine変数の値)。 //トッツ配列リストは }}キャッチ(IOExceptionを電子){ // TODO自動生成されたcatchブロック e.printStackTrace()です。 } 私はそれを今持っていて、うまくいきません。 –

0

あなたは資産フォルダにファイルを入れて、あなたがAssetsManagerオブジェクトを返すために

<your-context>.getAssets(); 

を使用することができ、入力ストリーム

+0

私はこれを行いましたが、コードが動作するときにエラーが発生しました。それは多分それをチェックアウト私の新しい質問へのリンクはhttp:?//stackoverflow.com/questions/9676773/read-a-text-file-android –

0

私は解像度のフォルダに新しい生のフォルダを作成し、ここでchapter0.txtを置きます。

public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    setContentView(R.layout.induction); 

    wordss = new Vector<String>(); 

    TextViewEx helloTxt = (TextViewEx) findViewById(R.id.test); 
    helloTxt.setText(readTxt()); 
} 

private String readTxt() { 

    InputStream inputStream = getResources().openRawResource(R.raw.chapter0); 
    // getResources().openRawResource(R.raw.internals); 
    System.out.println(inputStream); 
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 

    int i; 
    try { 
     i = inputStream.read(); 
     while (i != -1) { 
      byteArrayOutputStream.write(i); 
      i = inputStream.read(); 
     } 
     inputStream.close(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    return byteArrayOutputStream.toString(); 
} 
関連する問題