[转载]android读取文件的方法(只用于记录,方便以后查询使用)

1.读取asset中的json文件,只需传入context和要读的json文件名即可:

StringBuilder newstringBuilder = new StringBuilder();
InputStream inputStream = null;
try {
inputStream = context.getResources().getAssets().open(fileName);
InputStreamReader isr = new InputStreamReader(inputStream);
BufferedReader reader = new BufferedReader(isr);
String jsonLine;
while ((jsonLine = reader.readLine()) != null) {
newstringBuilder.append(jsonLine);
}
reader.close();
isr.close();
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
try{
String result = newstringBuilder .toString();
Gson gson = new Gson();
ProvinceCityJson provinceCityJson = gson.fromJson(result, JsonDate.class);
}catch (Exception e) {
e.printStackTrace();
Log.d(“ADDB”, “error====” + e.getMessage());
}

2.读取手机sd卡根目录中的json文件,传入context和json文件名即可,如文件不在根目录,可对jsonpath进行目录的更改:

StringBuffer sb = new StringBuffer();
try {
String jsonpath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + fileName;
FileInputStream input = new FileInputStream(jsonpath);
byte[] temp = new byte[1024];

        int len = 0;
        //读取文件内容:
        while ((len = input.read(temp)) > 0) {
            sb.append(new String(temp, 0, len));
        }
        //关闭输入流
        input.close();
        
    } catch (Exception e) { 
        e.printStackTrace(); 
    }
    try{
        testJsonBeans = new Gson().fromJson(sb.toString(), new TypeToken<List<TestJsonBean>>(){}.getType());
    }catch (Exception e) {
        e.printStackTrace();
        Log.d("ADDB", "error====" + e.getMessage());
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值