首页 > 系统相关 >Java 字符串输出到文件中,不会因为数据过大导致堆内存崩了

Java 字符串输出到文件中,不会因为数据过大导致堆内存崩了

时间:2022-12-02 22:04:55浏览次数:51  
标签:输出 Java System bw 内存 dateStr close 字符串 new


输出数据的两种方式:

  • ​​1.使用追加的方式输出数据。​​
  • ​​2.定量输出数据,每次读取1k。​​

1.使用追加的方式输出数据。

String dateStr = System.currentTimeMillis()+"";
String filePath="F:\\"+ dateStr + "data.js";
try {
for (Province provinceEntity : privinceList) {
FileWriter fw = new FileWriter(filePath, true);
BufferedWriter bw = new BufferedWriter(fw);
//bw.append(provinceEntity.toString());
bw.write(provinceEntity.toString());
bw.write(",");
bw.close();
fw.close();
}
} catch (IOException e) {
System.out.println("=========eeeeeee=========");
}
System.out.println("=========ok=========");

这里使用for循环遍历一个列表,将列表里面的数据循环输出。其中​​bw.write()​​是接收的需要输出的内容。

2.定量输出数据,每次读取1k。

String dateStr = System.currentTimeMillis()+"";
String filePath="F:\\"+ dateStr + "data.js";
FileOutputStream fos;
try {
fos = new FileOutputStream(filePath);
ByteArrayInputStream inputStream = new ByteArrayInputStream(privinceList.toString().getBytes());
int buf_size = 1024;
byte[] buffer = new byte[buf_size];
int len = 0;
while (-1 != (len = inputStream.read(buffer, 0, buf_size))) {
fos.write(buffer, 0, len);//一次仅传输1K,不会溢出
}
inputStream.close();
fos.close();
} catch (IOException e) {
System.out.println("=========eeeeeee=========");
}
System.out.println("=========ok=========");


标签:输出,Java,System,bw,内存,dateStr,close,字符串,new
From: https://blog.51cto.com/linmengmeng/5907603

相关文章

  • Java8 时间操作总结
    目录:​​1.获取当天日期​​​​2.获取当前时间​​​​3.获取当前日期和时间​​​​4.日期时间格式化​​​​5.构造指定日期或者时间​​​​6.获取年月日信息​......
  • SpringBoot启动报错:main ERROR Unable to create file ${sys:log.path.prefix}/log.l
    完整的错误信息:2019-08-2214:17:59,340mainERRORUnabletocreatefile${sys:log.path.prefix}/log.logjava.io.IOException:文件名、目录名或卷标语法不正确。at......
  • Java8时间 实体类使用LocalDate接收String字符串时间 小记
    1.时间类型映射问题。遇到这个问题是由于在实体类中将时间类型改为​​LocalDateTime​​​或者​​LocalDate​​​之后,自动生成的dao文件中该字段对应的时间类型为​​TI......
  • SQLSERVER字符串函数
    1.ASCII返回字符表达式最左端字符的ASCII代码值。语法ASCII(character_expression)参数character_expression是类型为char或varchar的表达式。返回类型int示例下例......
  • Java 使用baksmali.jar及smali.jar反编译classes.dex
    smali/baksmali是dalvik(Android的JavaVM实现)使用的dex格式的汇编/反汇编程序。该语法松散地基于Jasmin的/dedexer的语法,并支持dex格式的全部功能(注释、调试信息、行信......
  • 不一样的C语言反转字符串
    下面是最近一段时间的C语言初阶考试编程题:题目大意:例如,将一个字符串“Ilikebeijing.”反转成“beijing.likeI”初看这道题目时,很容易犯下的一个错误是“不就是将字符......
  • 【Java基础】JSP分页显示
    分页是web应用程序非常重要的一个技术。数据库中的数据可能是成千上万的,不可能把这么多的数据一次显示在浏览器上面。一般根据每行数据在页面上所占的空间每页显示若干行,比......
  • Caused by: java.lang.NullPointerException at org.springframework.beans.factor
    在搭建完Spring环境之后运行第一个demo的时候就碰到这个问题,折腾了一天了,到现在才解决,记录一下自己的失误。解决办法就是在添加userLibrary的时候不能勾选SystemLibra......
  • Java编码小技巧
    你在写一个方法的时候,例如传入两个数组,而你要写的方法代码块又恰好有一种判断方式会导致你要写两个相同代码块,你就可以自己调用自己,并把传参顺序换一下publicint......
  • eclipse中编写Java程序出现Resource leak: 'input' is never closed解决方法
     菜鸟新手,在​​Java​​的简单程序编写过程中,如上代码出现了小小的提示,这种简短的小程序,不关闭也可以运行出正确的结果,由于强迫症,对于这点小毛病也是不能容忍的,再查了百......