第一步:编写一个Servlet,把接收到的>
1
先在Activity里面调用getAssets()来获取AssetManager引用。
2
再用AssetManager的open(String
fileName,
int
accessMode)方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3
然后就是用已经open
file
的inputStream读取文件,读取完成后记得inputStreamclose()。
4调用AssetManagerclose()关闭AssetManager。
Android res/raw目录是用于存放二进制文件,并在apk发布的时候,一起打包到apk中。以下是raw的读取:1获取资源的输入流资源文件 sampletxt 位于 $PROJECT_HOME/res/ raw目录下,可以在 Activity 中通过ContextgetResources()openRawResource(Rrawsample);方法获取输入流。2读取示例:try { InputStream in = getResources()openRawResource(Rrawtest1); int lenght = inavailable(); byte[] buffer = new byte[lenght]; inread(buffer); String result = EncodingUtilsgetString(buffer, ENCODING); } catch (Exception e) { eprintStackTrace(); }
assets资源目录一般用于存放html文件、数据库文件、javascript文件,assets目录下的文件不会在Rjava自动生成ID,所以读取assets目录下的文件必须指定文件的路径
在代码中使用AssertManager获取文件的输入流读取
AssetManager assetManager = contextgetAssets();try {
InputStream is = assetManageropen("jsondata");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuffer stringBuffer = new StringBuffer();
String str = null;
while((str = brreadLine())!=null){
stringBufferappend(str);
}
} catch (IOException e) {
eprintStackTrace();
}
也可以把json文件放在res的raw目录下
res/raw中的文件会被映射到Rjava文件中,访问的时候直接使用资源ID即Ridfilename;
但是需要注意的是assets允许有目录结构,而raw不行
读取方法大同小异
try {InputStream is = getResources()openRawResource(Ridfile);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuffer stringBuffer = new StringBuffer();
String str = null;
while((str = brreadLine())!=null){
stringBufferappend(str);
}
} catch (IOException e) {
eprintStackTrace();
}
以上就是关于Android中使用HttpPost实现数据与文件同时上传的功能全部的内容,包括:Android中使用HttpPost实现数据与文件同时上传的功能、手机作为客户端,电脑作为服务器进行android socket通信、开发Android项目,写单元测试类时,怎样读取assets中的文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)