SD カードに保存されているテキスト ファイルがあります。SD カードのテキスト ファイルから文字列配列にデータをコピーしたいです。データを文字列配列に保存し、後でそのデータを autocompletetextview で使用したいと考えています。
package com.example.pro2;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ReadSettings();
}
});
}
public void ReadSettings(){
try{
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard,"comm.txt");
FileInputStream fileIS = new FileInputStream(file);
BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));
String readString = new String();
String val[] = null;
for(int i=0;i<5;i++)
{
while ((readString = buf.readLine()) != null) {
Log.d("line: ", readString);
val[i] = readString;
Log.d("values", val[i]);
// u better use an ArrayList or you have to check if i < val.size
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
}
}
しかし、それは強制終了を示しています.Plz help.