打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

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

第一步:创建文件

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

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

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


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

第一步:同上

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

第三步:调用bufferedWriter方法

  1.    FileWriter fw = new FileWriter(file);  
  2. BufferedWriter out = new BufferedWriter(fw);  
  3. out.write(s);  
  4. out.close();  

说明:

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

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

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

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

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




LG

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
matlab 读取处理 wav 文件
【python】读取json文件
JAVA6用多种方式实现从文件按行读数据和写入文件数据
关于txt,xml,json文件的读写
001、Python 基础学习笔记
一文看懂用R语言读取Excel、PDF和JSON文件(附代码)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服