У меня была проблема, когда я не мог прочитать файл в Android и обнаружил, что это потому, что файл не может быть найден.Теперь я создал программу «голые кости»:
public class LoginView extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loginpanel);
Button button = (Button) findViewById(R.id.btnLogin);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ReadingTest rt = new ReadingTest();
}
});
}
ReadingTest.java
public class ReadingTest {
private BufferedReader br;
public ReadingTest () {
try {
br = new BufferedReader (new FileReader("profiles"));
System.out.println("BufferedReader was successful...");
} catch (FileNotFoundException e) {
System.out.println("BufferedReader was unsuccessful...");
e.printStackTrace();
}
}
Эта программа должна прочитать файл профилей, который я поместил в то же место, что и AndroidManifest.xmlфайл, т.е. в корне проекта.Программа печатает, была ли она успешной или нет, и, к сожалению, она печатается неудачно.Может кто-нибудь сказать мне, где разместить файл и как получить к нему доступ через BufferedReader?Весь мой Java-проект, который я пытаюсь перенести, основан на чтении и записи в файлы, поэтому я не могу прогрессировать, пока это не будет сделано.Заранее спасибо!
РЕДАКТИРОВАТЬ: Хорошо, после некоторых исследований я могу открыть свой файл в моей основной деятельности !!Я поместил файл profiles.txt в папку res / raw в своей основной деятельности. Я написал следующий код:
is = this.getResources().openRawResource(R.raw.profiles);
br = new BufferedReader(new InputStreamReader(is));
По какой-то причине мой BufferedReader может читать файл в основной деятельности, но если я пытаюсьчтобы создать BufferedReader, используя тот же код в отдельном классе, а затем продолжить, чтобы попытаться вызвать указанный класс, он выключает виртуальную машину и создает FATAL EXCEPTION: main в logcat.Любые идеи, как я могу изменить приведенный выше код, чтобы он работал?