我的文件位于我的包裹内。
bufferLine = "";
fileName = "fulllist.txt";
try {
FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
while((bufferLine = bufferedReader.readLine()) != null) {
}
bufferedReader.close();
}
catch(FileNotFoundException ex){
System.err.println("Unable to open file '" + fileName + "'");
}
catch(IOException ex) {
ex.printStackTrace();
}
我收到此错误:
无法打开文件“ fulllist.txt”
我需要包括包裹名称或其他名称吗?我尝试使用
System.err.println("Current directory is" + new File(".").getAbsolutePath());
调试,但所有打印的是
当前目录是/
这对我没有帮助,因为我认为这意味着要在包装内进行搜索,对吗?如果需要任何其他信息,请发表评论。
要获取数据目录的文件夹(data / data / app.package.name /),请使用以下命令:
String directory = context.getApplicationInfo().dataDir + "/";
要在您的资产文件夹中获取文件的文件流,请使用以下命令:
InputStream is = context.getAssets().open(filename);
这是将输入流解析为String的示例:
private String getString(String filename)
{
String result = null;
AssetManager am = getContext().getAssets();
try
{
InputStream is = am.open(filename);
int length = is.available();
byte[] data = new byte[length];
is.read(data);
result = new String(data);
}
catch (IOException e1)
{
e1.printStackTrace();
}
return result;
}
如果您的文本文件实际上是一个项目列表,则最好将所有文本文件一起清理,而不要使用数组资源(通常放置在res / values / arrays.xml中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="months">
<item>Month</item>
<item>Jan</item>
<item>Feb</item>
<item>Mar</item>
<item>Apr</item>
<item>May</item>
<item>Jun</item>
<item>Jul</item>
<item>Aug</item>
<item>Sep</item>
<item>Oct</item>
<item>Nov</item>
<item>Dec</item>
</array>
</resources>
然后在您的代码中:
String[] list = getContext().getResources().getStringArray(R.array.months);
希望这可以帮助 :)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句