这是我为同一个问题启动的第二个线程,因为我之前的问题没有得到正确的答案/有效的答案。我正试图从我的assests文件夹中读取一个文本文件。该代码可以在桌面上运行,但在Android上不可用。我知道我需要一个上下文或资产管理器,但我无法获得解决方法。到目前为止,我已经尝试了所有的方法,但找不到有效的教程。我甚至将java版本更改为1.7,以尝试使用资源。我还是个无名小卒,所以任何帮助都会很棒。以下是读取文件和生成单词的完整课程。
public class WordGenerator {
public String randomWord;
public Random rand;
public char [] randomWordChar;
public ArrayList<String> words = new ArrayList<String>();
private Context mCtx; //<-- declare a Context reference
public void WordGenerator() {
rand = new Random();
String all = new String("words.txt");
String line;
try {
BufferedReader br = new BufferedReader(new FileReader(("words.txt")));
if (!br.ready()) {
throw new IOException();
}
while ((line = br.readLine()) != null) {
words.add(line);
}
br.close();
} catch (IOException e) {
System.out.println(e);
}
int size = words.size();
Random rn = new Random();
int randWord = rn.nextInt(size);
randomWord = words.get(randWord);
randomWordChar = randomWord.toCharArray();
}
}
我甚至尝试过几次将加载过程分离到不同的void类中,但都失败了。如果可能的话,谢谢你。这是另一个问题的链接,这样你就知道答案不起作用了!!
读取纯文本文件
您应该使用android.content.Context来使"getAssets()"方法工作。
观察到您正在使用javax.nameing.Context作为上下文。