使用非活动Java类从文本文件中读取特定字符串

使用非活动Java类从文本文件中读取特定字符串,java,android,Java,Android,我有一个文本文件,它有- packagename:com.hello 我有一个非活动Java类,它必须读取这个文本文件,获取这个com.hello并以日志或Toast消息的形式输出它。我正在Eclipse中用Android编程。我有两个问题 1) 我需要把这个文本文件放在哪里?我指的是它的位置,这样我的JAva类就可以读取它了 2) 因为我的JAva类是非活动类,所以openFileInput无法工作,因为它需要上下文,而我无法获取上下文 FileInputStream in = openFi

我有一个文本文件,它有-

packagename:com.hello
我有一个非活动Java类,它必须读取这个文本文件,获取这个com.hello并以日志或Toast消息的形式输出它。我正在Eclipse中用Android编程。我有两个问题

1) 我需要把这个文本文件放在哪里?我指的是它的位置,这样我的JAva类就可以读取它了

2) 因为我的JAva类是非活动类,所以openFileInput无法工作,因为它需要上下文,而我无法获取上下文

FileInputStream in = openFileInput("filename.txt");
有什么办法吗。提前感谢:)

1)您可以将其放在包裹内的任何位置;请确保您提供了正确的路径。
2)请参考以下内容:

1) 我需要把这个文本文件放在哪里?我指的是它的位置,这样我的JAva类就可以读取它了

只要告诉你的应用程序文件的正确路径就可以了

2) 因为我的JAva类是非活动类,所以openFileInput无法工作,因为它需要上下文,而我无法获取上下文

FileInputStream in = openFileInput("filename.txt");
只需读取Java中的文件

FileInputStream fis = new FileInputStream(new File("path/to/your/file.txt"));
注:

  • 您必须抛出或捕获
    FileNotFoundException
  • 记住在完成时关闭流
你的问题解决了吗?我正在使用Ubuntu,我正在将我的文件放在/home/imf/git/github/HelloApp/filename.txt中,我得到了FileNotFoundException。。。HelloApp是我的应用程序名我正在使用Ubuntu,我将其命名为FileInputStream fis=new FileInputStream(新文件(“/home/imf/git/github/HelloApp/filename.txt”);它提供了FileNotFoundException,然后我需要将文本文件放在assets文件夹中,但当我使用AssetManager AssetManager=getAssets()时,getAssets()不适用于非活动;绝对不是,不管你是否有活动,
getAssets()
只是一个快捷方式,但保持不变。。。但是如果您不想直接使用,那么可以从活动类静态地获取资产,比如
UtilityActivity.getAsset(fileName)确定,所以我将文本文件推到“/data/local/”,然后从Java类中使用这个文件inputstream fis=new FileInputStream(new file(“/data/local/filename.txt”);这应该行吗?