已上面为例:
要访问book目录,直接写getAssets()list("book");可列出book下所有文件
要访问0_1txt, getAssets()open("book/0/0_1txt");
inputReader = new InputStreamReader(AppcontextgetAssets()open(fileName));
或者
InputStream inputStream = getClass()getResourceAsStream("/assets/nametxt");
读取文件的时候填写文件名别忘了后缀
你获取的uri没有问题。但assets目录下的不能使用这种方法读取。你得把它先复制到sdcard中,然后从sdcard中传递这个至于原因嘛:assets目录里面的资源文件还在应用程序的apk文件中,一个压缩文件中。所以不能这样读
assets文件夹是android程序中存放相关外部文件的一个目录,Android官方提供了相应的方法去访问该文件夹中的内容,故此我们并不需要进行相关的路径判断等代码 *** 作,直接调用相关方法打开文件并得到一个字节输入流(InputStream);
然后通过相应的字符编码方式读取字节解码为字符输入流(InputStreamReader);再通过BufferReader对字符输入流读取文本并将字符存入缓冲区以便能提供字符、数组和线段的高效读取;最后我们就能逐行对文件内容进行读取了;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutactivity_main);
try {
InputStream inputStream = getResources()getAssets()open("infotxt");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String info = "";
while ((info = bufferedReaderreadLine()) != null) {
Logi("fff", info);
ToastmakeText(MainActivitythis, info, 1000)show();
}
} catch (IOException e) {
eprintStackTrace();
}
}
}
AndroidStudioassets目录的位置在XXX\src\main\assetsXXX代表你的项目的路径,assets放在src\main目录下。这个位置可以通过XXXimlXXX代表自己的项目名,其中有设置assets的目录,设置如下
以上就是关于访问android assets下的文件路径要怎么写全部的内容,包括:访问android assets下的文件路径要怎么写、android studio引用assets文件夹里的东西路径怎么写、如何获得assets目录下文件的uri等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)