JAVA写文件

ArcGIS Maps SDK for Unity实战:把真实世界地形‘搬进’游戏场景的保姆级教程 本文详细介绍了如何使用ArcGIS Maps SDK for Unity将真实世界地形导入游戏场景的完整流程。从高程数据获取、TPKX格式转换到Unity中的地形集成与优化,提供了保姆级教程,帮助开发者快速实现高精度地形建模,特别适用于开放世界游戏和数字孪生项目。 阅读详情

最近对以前开发的一个通用数据迁移的软件进行优化。除了用JDK5.0的多线程技术进行的改进之外,也比较了一下java写文件的性能。 
    在 java写文件中,通常会使用FileOutputStream和FileWriter,FileWriter只能写文本文件。 FileOutputStream也经常结合BufferedOutputStream。因为实际应用中写文本文件的情况占了大多数。所以下面测试用不同 的方式生成一个相同行数、大小相同的文件的三种不同方式。 

Java代码 java写文件比较 - qunqun - 群群的梦想

 

  1. import java.io.File;   
  2. import java.io.FileOutputStream;   
  3. import java.io.*;   
  4.   
  5. public class FileTest {   
  6.     public FileTest() {   
  7.     }   
  8.   
  9.     public static void main(String[] args) {   
  10.         FileOutputStream out = null;   
  11.         FileOutputStream outSTr = null;   
  12.         BufferedOutputStream Buff=null;   
  13.         FileWriter fw = null;   
  14.         int count=1000;//写文件行数   
  15.         try {   
  16.             out = new FileOutputStream(new File("C:/add.txt"));   
  17.             long begin = System.currentTimeMillis();   
  18.             for (int i = 0; i < count; i++) {   
  19.                 out.write("测试java 文件操作\r\n".getBytes());   
  20.             }   
  21.             out.close();   
  22.             long end = System.currentTimeMillis();   
  23.             System.out.println("FileOutputStream执行耗时:" + (end - begin) + " 豪秒");   
  24.   
  25.             outSTr = new FileOutputStream(new File("C:/add0.txt"));   
  26.              Buff=new BufferedOutputStream(outSTr);   
  27.             long begin0 = System.currentTimeMillis();   
  28.             for (int i = 0; i < count; i++) {   
  29.                 Buff.write("测试java 文件操作\r\n".getBytes());   
  30.             }   
  31.             Buff.flush();   
  32.             Buff.close();   
  33.             long end0 = System.currentTimeMillis();   
  34.             System.out.println("BufferedOutputStream执行耗时:" + (end0 - begin0) + " 豪秒");   
  35.   
  36.   
  37.             fw = new FileWriter("C:/add2.txt");   
  38.             long begin3 = System.currentTimeMillis();   
  39.             for (int i = 0; i < count; i++) {   
  40.                 fw.write("测试java 文件操作\r\n");   
  41.             }   
  42.                         fw.close();   
  43.             long end3 = System.currentTimeMillis();   
  44.             System.out.println("FileWriter执行耗时:" + (end3 - begin3) + " 豪秒");   
  45.   
  46.         } catch (Exception e) {   
  47.             e.printStackTrace();   
  48.         }   
  49.         finally {   
  50.             try {   
  51.                 fw.close();   
  52.                 Buff.close();   
  53.                 outSTr.close();   
  54.                 out.close();   
  55.             } catch (Exception e) {   
  56.                 e.printStackTrace();   
  57.             }   
  58.         }   
  59.     }   
  60.   
  61.   
  62. }   

 

  1. 1.当count=1000的,即写文件1000行的时候,写出的文件大小为18.5KB:   
  2. FileOutputStream执行耗时:46 豪秒   
  3. BufferedOutputStream执行耗时:31 豪秒   
  4. FileWriter执行耗时:15 豪秒   
  5.   
  6.   
  7. 2.当count=10000的,即写文件10000行的时候,写出的文件大小为185KB:   
  8. FileOutputStream执行耗时:188 豪秒   
  9. BufferedOutputStream执行耗时:32 豪秒   
  10. FileWriter执行耗时:16 豪秒   
  11.   
  12.     
  13.   
  14. 3.当count=100000的,即写文件100000行的时候,写出的文件大小为1856KB:   
  15. FileOutputStream执行耗时:1266 豪秒   
  16. BufferedOutputStream执行耗时:125 豪秒   
  17. FileWriter执行耗时:93 豪秒   
  18.   
  19.     
  20.   
  21. 4.当count=1000000的,即写文件1000000行的时候,写出的文件大小为18555KB:   
  22. FileOutputStream执行耗时:12063 豪秒   
  23. BufferedOutputStream执行耗时:1484 豪秒   
  24. FileWriter执行耗时:969 豪秒  

由 以上数据可以看到,如果不用缓冲流BufferedOutputStream,FileOutputStream写文件的鲁棒性是很不好的。当写 1000000行的文件的时候,FileOutputStream比FileWriter要慢11094毫秒(11 秒),BufferedOutputStream比FileWriter慢515毫秒。 
    不要小看这几秒的时间。当操作的数据量很大的时候,这点性能的差距就会很大了。在通用数据迁移工具导出数据库2千万条记录生成sql脚本文件的时候,性能性能相差10分钟以上。

半导体功率器件IGBT工艺全流程 本文概述了功率器件IGBT(绝缘栅双极型晶体管)的关键制造流程。主要工艺包括:基板制备、离子注入(B+/P+/P+FS层)、绝缘膜形成与加工(CVD沉积及刻蚀)、沟槽刻蚀、电极形成(Emitter和Collector)等步骤。通过离子注入、化学气相沉积和物理气相沉积等半导体工艺,依次完成器件各功能层的构建,最终形成具备高功率特性的IGBT器件。该流程体现了功率半导体制造中典型的掺杂、薄膜沉积和图形化工艺技术。 阅读详情

相关推荐

win10任务栏文件夹设置成竖形列表样式

win10任务栏文件夹设置成竖形列表样式

ftzchina的博客 7075

Java文件写入的6种方法

写程序时经常会碰到读写文件的场景,在Java中操作文件的方法本质上只有两种:字符流和字节流,而他们的实现类又有很多,因此,有时候用起来,就会比较乱。这篇文章系统介绍了Java操作文件的几种...

bisal的专栏 2万+

不用编码器也能玩转BLDC?手把手教你反电动势定位实战

本文详细介绍了无刷直流电机(BLDC)的无传感器控制方案——反电动势定位法,通过STM32实战演示如何实现基本控制。文章涵盖核心原理、硬件准备、信号采集技巧及代码实现,特别适合静音风扇、小型机器人等对成本敏感的应用场景,帮助开发者降低硬件成本并提升系统可靠性。

lg888的博客 897

盘点java写入文件的几种方法

默认情况下,它会使用新的内容取代所有现有的内容,然而,当指定一个true (布尔)值作为FileWritter构造函数的第二个参数,它会保留现有的内容,并追加新内容在文件的末尾。七、基本的几种用法就这么多,当然每一个读写的使用都是可以分开的。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等。2. 保留现有的内容和附加在该文件的末尾的新内容。//更新的JDK7例如,使用新的“尝试资源关闭”的方法来轻松处理文件。

xinyuerr的博客 1万+

无需Root!用VirtualXposed+JustTrustMe在安卓高版本上抓包拼多多API数据

本文详细介绍了在安卓高版本设备上无需Root权限即可抓取拼多多API数据的完整方案,通过VirtualXposed与JustTrustMe组合技术,有效绕过SSL Pinning限制。文章涵盖工具准备、环境配置、应用处理及实战分析,特别针对PDD应用的混合通信策略提供了专业解决方案,适合开发者进行竞品分析和数据采集。

weixin_28678151的博客 453

C51红外接收与发射控制及原理编码与解码

基于38khz的NEC协议红外发射简易电路图NEC协议产生红外光数据编码 0 1结合程序红外接收接收电路解码过程解码代码 红外发射 通过通过红外二极管发射红外光,三极管的状态来控制。 红外模块一般都是三个引脚,vcc,gnd,dat,通过控制dat口的来控制发射红外光。 简易电路图 将数据口连接到单片机的引脚为上,控制io口的电平状态,来控制三极管的导通状态,从而发射红外光。 NEC协议 NEC协议特点:8位地址和8位命令为提高可靠性,地址和命令都传输2次,脉冲间隔调制38kHz载波频率。 包含引导码,

yangfeng20的博客 1万+

JAVA中文件写入的6种方法

Java 中的“流”是一种抽象的概念,也是一种比喻,就好比水流一样,水流是从一端流向另一端的,而在 Java 中的“水流”就是数据,数据会从一端“流向”另一端。根据流的方向性,我们可以将流分为输入流和输出流,当程序需要从数据源中读入数据的时候就会开启一个输入流,相反,写出数据到某个数据源目的地的时候也会开启一个输出流,数据源可以是文件、内存或者网络等。字节流的基本单位为字节(Byte),一个字节通常为 8 位,它是用来处理二进制(数据)的。

qq_30436011的博客 1万+

对计算机专业来说学历真的重要吗?

我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...

启舰 55万+

java 中创建并且写文件的几种方式(java io 基础)

光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性。

2401_84046912的博客 3357

用Arduino和FS-i6X遥控器,从零开始打造你的第一只仿生扑翼蝴蝶(附完整代码解析)

本文详细介绍了如何利用Arduino和FS-i6X遥控器从零开始制作仿生扑翼蝴蝶,包括硬件准备、电路连接、代码解析和调试技巧。通过完整的代码示例和参数说明,帮助读者快速掌握仿生机器人的制作要点,实现蝴蝶的自然飞行效果。

weixin_28727975的博客 309

OpenClaw安装方式那么多,但建议大家还是用云厂商吧

OpenCloud的安装方式多样,包括One-liner、npm、pnpm和Hackable等。One-liner提供高效的单行命令安装;npm和pnpm作为Node.js包管理工具,分别提供常规和高性能的安装选项;Hackable则支持定制化安装。不同系统(macOS、Windows)和终端(PowerShell、CMD)的操作步骤各有特点,用户需根据自身技术背景选择合适的安装方式。官方推荐使用闲置计算资源或云部署方案以获得更佳体验。

涛涛讲AI 1398

Java实现文件操作

在计算机中,通常都需要文件系统来管理文件,文件系统中通过“树形” 组织文件和目录,文件可以分为文本文件和二进制文件,如果文件记事本打开出现乱码就是二进制文件,否则就是文本文件,常见的二进制文件有:.txt,.c,.java等;常见的文本文件有:.doc,.jpg,.class以及office系列的一些文件。在文件系统中,文件的路径可以分为绝对路径和相对路径。绝对路径:就是从根目录开始到文件,也就是从盘符开始的文件,例如:D:\bin\aa\c.txt。

m0_62404808的博客 2508

Shader之——花草动画shader

今天 ,接到了个需求,花草的动画。谈到花草动画,立马就想到顶点动画,让顶点动起来就可以实现了。但是有个问题,所有的草都往一个方向运动,这个就麻烦了。因为在shader里没有随机这种概念,提到最多的是用一张噪声图来模拟。在网上搜索了一下,发现有更好的办法,就是用每个顶点到一个点的距离来控制动画的开始,毕竟每个顶点到同一个点的距离很少是一样的。 float dis = distance ...

baicaishisan的博客 2182

java file写文件_Java中创建并写文件的5种方式

导读在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法。在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法。Files.newBufferedWriterFiles.writePrintWriterFile.createNewFileFileOutputStr...

weixin_33660045的博客 2210

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java批量写文件_Java大批量数据写文件

首先说一下这个大批量,是指有上千万的数据量。例子:有一张短信历史表,其数据有上千万条数据,要进行数据备份到文本文件,就是执行如下SQL然后将结果集写入到文件中!selectt.msisdn,t.source,t.seq,t.area,t.send_date,t.msg,t.optcode fromhnsms.SMS_SEND_10086_HIS_102 t数据库:Oracle下面主要列一下我写文件...

weixin_29735075的博客 2620

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

java 异步写文件_java异步写日志到文件中实现代码

java异步写日志到文件中详解实现代码:package com.tydic.ESUtil;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.util.Properties;...

weixin_35974392的博客 502

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

java8追加写文件_总结java中创建并写文件的5种方式

在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法。Files.newBufferedWriter(Java 8)Files.write(Java 7 推荐)PrintWriterFile.createNewFileFileOutputStream.write(byte[] b) 管道流实际上不只这5种,通过管道流的排列组合,...

weixin_34254044的博客 2263

java 写文件 nio

Java NIO写文件操作 在Java编程中,文件操作是非常常见的需求之一。Java NIO(New Input/Output)是Java 1.4版本引入的一个新的IO操作方式,提供了更加高效的IO操作方式。在本文中,我们将介绍如何使用Java NIO来写文件。 NIO写文件的基本原理 在Java NIO中,写文件的操作主...

weixin_40899899的博客 221

java多线程写文件_Java 多线程写文件

不废话,上马。import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.channels.FileChannel;import java.nio.channels.FileLock;/*** @author DBJ**/public class MyThreadInf...

weixin_36290287的博客 673

java nio 写大文件_NIO写大文件比较

[java]代码库package rwbigfile;import java.io.ByteArrayInputStream;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.lang.reflect.Method;import java.nio.ByteBuffer...

weixin_39758956的博客 238

Java多种写文件方式

写文件在开发小工具时常用到,比如爬取某些网站的信息,数据量不是很大,保存到本地即可。当然如果会一些额外的技能,比如多线程,网络之类的,小工具会更加有意思。 这里看下Java不同的写文件方式: BufferedWriter PrintWriter FileOutputStream DataOutputStream RandomAccessFile FileChannel Files Buffer...

weixin_34144450的博客 212

java 写文件后占用文件_Java独占写文件的5种解决方法

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。参考自StackOverflow上的某个问题以及csdn上的这篇博客:以独占方式访问某个文件包含自己的一些理解// 方案1:利用RandomAccessFile的文件操作选项s,s即表示同步锁方式写RandomAccessFile file = new RandomAccessFile(fil...

weixin_36064484的博客 1802

java多线程 同时写一个文件

我整理的一些关于【数据】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/eDOcp1Java多线程同时写一个文件 在软件开发中,多线程编程是一个重要的主题,尤其在需要提升程序性能和响应能力的场景中更是如此。Java作为一种广泛使用的编程语言,提供了强大的多线程支持。然而,当多...

weixin_36246576的博客 854

JAVA IO - 创建并写文件的五种方式

JAVA IO - 创建并写文件的五种方式 @Test void testCreateFile1() throws IOException { String fileName = "D:\data\test\newFile.txt"; Path path = Paths.get(fileName); // 使用newBufferedWriter创建文件并写文件 // 这里使用了try-with-resources方法来关闭流,不用手动关闭 try (BufferedWrite

霍英俊 729

java 常用写文件方式性能PK

java写文件这个应用场景相信是所有java开发者最常用的操作了,从jdk1.7以来到底选择哪一种方式写文件,借周末的时间,简单写了几个常用的FileOutputStream、BufferedOutputStream、FileWriter、BufferedWriter……最后结论是:BufferedWriter占了绝对优势,而FileOutputStream是最差,并且性能相差好多倍建议使用BufferedWriter;当然还有好多方案没测试,欢迎大写补充

李小强(leaderbird)的专栏 1248

Java窗体组件操作文件读与写

Java窗体组件操作文件读与写 开发工具与关键技术:java 作者:陈希雄 撰写时间:2019/5/1 用窗体组件来操作文件的读与写,先看下面的代码吧! 先创建一个类来继承Jframe窗体类 public class Files extends JFrame { public Files() { //文字大小 Font font=new Font(null, 20, 16)...

weixin_44560342的博客 664
上一篇: JAVA写文件
下一篇: JAVA文件锁
wangran51
博客等级 码龄17年 453粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值