Java BufferedReader在Android项目中找不到文件

Java BufferedReader在Android项目中找不到文件,java,android,bufferedreader,Java,Android,Bufferedreader,我遇到了一个问题,我无法在Android中读取文件,并发现这是因为无法找到该文件。我现在创建了一个裸体程序: public class LoginView extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我遇到了一个问题,我无法在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,然后继续尝试调用所述类,它会关闭VM,并出现一个致命的异常:logcat中的main。有什么想法我可以改变上述代码,使其工作

你试过使用吗?

也许你说它太快了,文件还没有加载。在流上调用ready()之前,先玩Thread.sleep()。对于文件I/O来说,可能几毫秒的阻塞是正常的。

“此程序应该读取配置文件,该文件…(其余的非配置文件)”。。。你应该先阅读安卓基础知识。。。你可以从apk的assests文件夹中读取文件(apk是zip),但你不能在那里写入…对不起,“read”这个词用错了;我的意思是,它试图与它建立连接。我不确定你到底在说什么:我试着把它放在assests文件夹中,但它不起作用。在这个例子中,我也不想写信给它。你是否厌倦了我的回答?编辑时:我认为这不是运行时错误,但您无法编译源“this.getResources()”=>“this”必须是活动或至少是上下文,因此如果您不在“单独的类”中扩展此类,它将无法工作…您现在似乎不知道我在说什么。