把json格式数据写入到本地文件

思路分析:1.使用File在指定位置创建出文件,如:e : / test1.json    2.获取数据的byte[]    3.使用输出流写入

第一步:创建文件

    File file = new File("要创建的目录+文件详细名");
	if(!file.exists()){
		file.createNewFile();
	}
第二步:获取json数据byte[],如果直接就是String的字符串,直接getByte[]就可以了

    j = json 格式的数据 ;
    String s = j.toString();
	byte[] b = s.getBytes();
第三步:使用输出流把数据写入第一步创建的文件

    int l = s.length();
	OutputStream os = new FileOutputStream(file);
	os.write(b, 0, l);
	
	os.close();
最后别忘了关闭输出流


但是,一般业务中用到的json串也许很长,我用了上面的方法后发现,写入的字符串并不完全(原理不精通,不知道什么原因)。但是如果用字符流bufferedWriter包装下,就可以全部写入了,如下:

第一步:同上

第二步:其中的getByte没用到,因为bufferedWriter可以直接写String(也支持getByte,方法调用和字节流一样)

第三步:调用bufferedWriter方法

    FileWriter fw = new FileWriter(file);
	BufferedWriter out = new BufferedWriter(fw);
	out.write(s);
	out.close();

说明:

1.最简单的数据写入文件实现,如果是从一个文件读取到另一个文件,只需要把现成的数据使用输入流换成从文件中读取的即可

2.本文中并没有给出,如:在指定的地方换行写入;在已经存在的数据后面追加写入等等,后期慢慢更新

3.OutputStreamWriter和BufferedWriter的简单说明:之所以使用bufferedWriter是因为两点:

a.bufferedWriter是自带的缓冲器,可以它自己控制,比较高效;而outputStreamWriter则是借用“别人”的缓冲区,所以一般在调用最后要使用flush方法,一次性把缓冲区的数据写走,可以理解为“先存着,再释放”

b.bufferedWriter可以直接处理String字符串或者字符串的一部分,可以少写点代码




LG

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LUNG108

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值