[英]Android Reading a Text File
我正在Android Studio中创建一个项目,我的项目文件夹中有一个文本文件,每次编译时,我希望我的代码读取.txt文件。 当每一件事都完成后,我希望.txt文件在.apk文件中。 我不是想从SD卡等读取
但是每次编译时我都会收到“File not found Exception”。 在使用eclipse时,当你将.txt文件放在与项目相同的目录中时,代码可以找到.txt文件而没有问题但是在Android Studio中,它找不到我刚创建的文本文件。 我在哪里将.txt文件放在项目文件夹中?
这是代码:
FileReader in = new FileReader("TEXTgreetingKeywords.txt");
final BufferedReader br = new BufferedReader(new InputStreamReader(in));
我曾经用同样的方法在Java中读取文本文件。 我不明白为什么它不能用于Android,因为它也使用Java。
编辑 - - -
我使用了资产管理器,但我又遇到了同样的错误
AssetManager asset = getAssets();
try {
in = asset.open("text.txt");
} catch (IOException e) {
e.printStackTrace();
}
我是否必须将目录更改为“C:\\ App \\ main \\ text.txt”?
从资产中 读取文本文件:
在Resources目录中创建原始文件夹 :
将文件粘贴到原始文件夹中:
从文件中 读取文字 :
private String readText() {
InputStream inputStream = getResources().openRawResource(
R.raw.license_agreement);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i;
try {
i = inputStream.read();
while (i != -1) {
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return byteArrayOutputStream.toString();
}
希望它会对你有所帮助。
完成R. Adang评论:您正在寻找assets
文件夹。 您必须将它放在res
文件夹所在的位置。 assets
文件将包含在APK中。
您可以使用AssetManager访问assets
的文件。 使用context.getAssets()
获取您的AssetManager实例
在这种情况下,文件访问不仅是java的东西,你在这里也有android,这可能会产生问题。 你使用File
是从应用程序位置打开文件。 要访问您的文件目录,您应该使用: context.getFilesDir()
比你使用基本的File
构造函数。 我希望这就是你要找的东西
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.