http://ruixiazun.blog.163.com/blog/static/9068791820101124105241163/
第一种方法:
String path = "file:///android_asset/文件名";
第二种方法:
InputStream abpath = getClass().getResourceAsStream("/assets/文件名");
若要想要转换成String类型
String path = new String(InputStreamToByte(abpath ));
private byte[] InputStreamToByte(InputStream is) throws IOException {
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
int ch;
while ((ch = is.read()) != -1) {
bytestream.write(ch);
}
byte imgdata[] = bytestream.toByteArray();
bytestream.close();
return imgdata;
}
通过file:///的方式访问是Windows系统下的远程访问机制,android下支持用http或者ftp访问的。
可以试试以下代码:
- URL url =new URL("http://IP/android_asset/test.txt");
- HttpURLConnection urlConnection =(HttpURLConnection) url.openConnection();
- urlConnection.connect();
- **InputStream inputStream = urlConnection.getInputStream();**
- int totalSize = urlConnection.getContentLength();
想通过 File 类获取 assets 文件夹的数据是不现实的,
因为那些文件还都在 apk 压缩包里面
而至于 file:///android_asset/xx 的说法,之所以有
那是为了方便自己的应用调用 webview 来装载页面,并非统一的 file:// 协议
lz 可以尝试一下默认的浏览器
打开 file:///mnt/sdcard/xx.txt 是完全可行。
而 File 类去打开文件的话,需要的只是绝对路径,即 /mnt/sdcard/xx.txt
如果不能确定 assets 文件夹是否含有需要的文本,可以使用如下的方法:
- try{
- String[] list = getAssets().list("");
- for(int i =0; i < list.length; i++){
- System.out.println(list[i]);
- }
- }catch(IOException e){
- e.printStackTrace();
- }
http://blog.csdn.net/zuolongsnail/article/details/6444806
- AssetManager am = null;
- am = getAssets();
- InputStream is = am.open("filename");
留言列表