这是我在.java类中获取.txt文件的方法
public static void find() throws IOException
{
@SuppressWarnings("resource")
Scanner sc = new Scanner(new FileReader("AllWords.txt"));
while( sc.hasNextLine() )
{
String word = sc.nextLine();
words.add(word);
String sortedWord = sortString(word); // this is a key
ArrayList<String> anagrams = map.get( sortedWord ); //this is a value
if( anagrams == null ) anagrams = new ArrayList<String>();
anagrams.add(word);
map.put(sortedWord, anagrams);
}
}
- 当我在一个Activity类中调用find()时它不会读取.txt文件,但是我已经在另一个程序中测试了这个代码并打开了文件,但是自从我转向Android - 开发我没有&#39;能够读取此文件。
- 我也尝试在Activity类中创建此方法,而android环境不喜欢&#34; SortString&#34;。
问题是我的.txt文件的位置?
以下是位置:
答案 0 :(得分:0)
为什么要使用TextFile?您可以使用Android开发默认的String.xml。 见:http://developer.android.com/guide/topics/resources/string-resource.html。 这可以减少代码行。
资源文件需要位于RES目录中而不是源包中; 请参阅:http://developer.android.com/guide/topics/resources/providing-resources.html
我希望这对你有所帮助。
最诚挚的问候,
答案 1 :(得分:0)
您应该将文本文件放在&#34; assets&#34;文件夹并使用AssetManager
内置类。
您可以使用以下方法创建新的扫描仪:
new Scanner(new File(getAssets().open("AllWords.txt")));
如果new File()
不起作用,请使用InputStreamReader
:
new InputStreamReader(getAssets().open("filename.txt"));