Java 从资产文件夹中的文本文件加载数组(Android)
请 我知道这个问题已经被问过很多次了,但我仍然无法让我的代码正常工作 我的资产文件夹中有一个名为words.txt的文本文件。该文本文件的每行中每行有一个单词,没有空行。我想把每个字都排成一个数组 首先,我尝试使用scanner,但在阅读了许多stackoverflow线程后,我发现我需要使用AssetManager 以下是我尝试过的:Java 从资产文件夹中的文本文件加载数组(Android),java,android,eclipse,Java,Android,Eclipse,请 我知道这个问题已经被问过很多次了,但我仍然无法让我的代码正常工作 我的资产文件夹中有一个名为words.txt的文本文件。该文本文件的每行中每行有一个单词,没有空行。我想把每个字都排成一个数组 首先,我尝试使用scanner,但在阅读了许多stackoverflow线程后,我发现我需要使用AssetManager 以下是我尝试过的: AssetManager assetManager = getAssets(); InputStream inputStream = assetManager.
AssetManager assetManager = getAssets();
InputStream inputStream = assetManager.open("words.txt");
它给了我一条错误消息:默认构造函数无法处理隐式超级构造函数引发的异常类型IOException…
,在我做任何其他事情之前。我不知道这是什么意思
另外,看看api,InputStream似乎只能读取字节。如何从文本文件中读取单词
线程是压倒性的,因为似乎每个答案都提出了不同的方法,使用InputStreams、BufferedStreams、FileInputStreams、File、Res文件夹、Asset文件夹和许多我不熟悉的其他语言。我正在学习开发android应用程序,java经验有限。请使用以下方法:
Resources rs = getResources();
InputStream inputStream = rs.openRawResource(R.raw.sample);
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
while ((line = r.readLine()) != null) {
array.append(line);
}
使用以下命令:
Resources rs = getResources();
InputStream inputStream = rs.openRawResource(R.raw.sample);
BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
while ((line = r.readLine()) != null) {
array.append(line);
}
您可以使用xml加载以下词语: res/values/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
</string-array>
</resources>
Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);
您可以使用xml加载以下词语: res/values/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
</string-array>
</resources>
Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);
您可以按如下所示操作:
try {
BufferedReader bReader = new BufferedReader(new InputStreamReader(getAssets().open("file.txt")));
ArrayList<String> values = new ArrayList<String>();
String line = bReader.readLine();
while (line != null) {
values.add(line);
line = bReader.readLine();
}
bReader.close();
for (String v : values)
Log.i("Array is ", v);
} catch (IOException e) {
e.printStackTrace();
}
试试看{
BufferedReader bReader=新的BufferedReader(新的InputStreamReader(getAssets().open(“file.txt”));
ArrayList值=新的ArrayList();
字符串行=bReader.readLine();
while(行!=null){
值。添加(行);
line=bReader.readLine();
}
bReader.close();
用于(字符串v:值)
Log.i(“数组为”,v);
}捕获(IOE异常){
e、 printStackTrace();
}
您可以执行如下操作:
try {
BufferedReader bReader = new BufferedReader(new InputStreamReader(getAssets().open("file.txt")));
ArrayList<String> values = new ArrayList<String>();
String line = bReader.readLine();
while (line != null) {
values.add(line);
line = bReader.readLine();
}
bReader.close();
for (String v : values)
Log.i("Array is ", v);
} catch (IOException e) {
e.printStackTrace();
}
试试看{
BufferedReader bReader=新的BufferedReader(新的InputStreamReader(getAssets().open(“file.txt”));
ArrayList值=新的ArrayList();
字符串行=bReader.readLine();
while(行!=null){
值。添加(行);
line=bReader.readLine();
}
bReader.close();
用于(字符串v:值)
Log.i(“数组为”,v);
}捕获(IOE异常){
e、 printStackTrace();
}
将您的阵列放入
res/values/strings.xml作为
<string-array name="spinnerNames">
<item>Trust</item>
<item>Grade</item>
<item>Location</item>
<item>Contract Type</item>
<item>Speciality</item>
</string-array>
把你的阵列放进去
res/values/strings.xml作为
<string-array name="spinnerNames">
<item>Trust</item>
<item>Grade</item>
<item>Location</item>
<item>Contract Type</item>
<item>Speciality</item>
</string-array>
AssetManager
和扫描仪都是必需的。扫描仪
执行您在末尾指出的操作:字节[]
到字符串
。可能需要重复资产管理器
和扫描仪
。扫描器
执行您在末尾指出的操作:字节[]
到字符串
。可能重复