Java 从android的文件加载数组
假设每个单词都在单独的一行上,没有空行,那么上面的代码能否正确地将.txt文件中的所有单词加载到arraylist中 我正在开发一个android应用程序,那么我应该把实际的文件放在哪个项目文件夹中呢 什么时候我可以只输入“words.txt”,什么时候我必须输入完整的路径名,比如C:\Users\etc 此外,一旦程序编译并转换为.apk文件,如果该文件位于我的计算机上,它将如何从.txt文件加载单词?如果其他人使用该应用程序,该应用程序难道不能找到“words.txt”吗 我想将单词加载到一个数组中,而不需要包含1000个“.add()”语句的大量代码Java 从android的文件加载数组,java,android,eclipse,Java,Android,Eclipse,假设每个单词都在单独的一行上,没有空行,那么上面的代码能否正确地将.txt文件中的所有单词加载到arraylist中 我正在开发一个android应用程序,那么我应该把实际的文件放在哪个项目文件夹中呢 什么时候我可以只输入“words.txt”,什么时候我必须输入完整的路径名,比如C:\Users\etc 此外,一旦程序编译并转换为.apk文件,如果该文件位于我的计算机上,它将如何从.txt文件加载单词?如果其他人使用该应用程序,该应用程序难道不能找到“words.txt”吗 我想将单词加载到一
我使用的是Android提供的ADT捆绑包附带的eclipse版本将文件放在资产文件夹中,然后使用AssetManager从代码中检索或读取文件。您需要将文件放在项目的资产文件夹中。这里有一个演示,你可以看看 如果只需要保留单词列表,可以将其存储在应用程序res下的数组中。 此解决方案假定您只需要保留一个单词列表 创建一个xml文件array.xml,如下所示:
File sample = new File("words.txt");
Scanner readWords = new Scanner(words);
while(scanner.hasNextLine())
{
//assume that arrayListOfWords is a previously declared arrayList
arrayListOfWords.add(readWords.nextLine());
}
字1
字2
字3
将此文件保存在res/values/array.xml中
将单词放入activity类中的arrayList中
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="words">
<item>word1</item>
<item>word2</item>
<item>word3</item>
</string-array>
</resources>
String[]arrayOfWords=getResources().getStringArray(R.array.words);
List arrayListOfWords=Arrays.asList(arrayOfWords);
希望这能满足你的需要。
但是,如果您需要将这些文字保存为txt文件,您可以将其放在assets文件夹中并从活动中读取。您可以将其放在应用程序的asset文件夹中。
String[] arrayOfWords= getResources().getStringArray(R.array.words);
List<String> arrayListOfWords= Arrays.asList(arrayOfWords);