/*  * FileEditor.java  *  * Created on 2006年9月13日, 下午2:22  *  * To change this template, choose Tools | Template Manager  * and open the template in the editor.  */ /** *这是第一个类,没有利用缓冲技术 */ package fileeditor; import java.io.*; /**  *  * @author Administrator  */ public class FileEditor {         /** Creates a new instance of FileEditor */     public FileEditor() {     }      /*用于创建文件;      */     public static void createFile(String fileName) throws IOException{             String file=fileName;             FileWriter f=new FileWriter(file);             f.close();      }     /*用于更新文件内容;      */     public static void updateFileContent(String fileName, byte[] content) throws IOException{         ByteArrayOutputStream f=new ByteArrayOutputStream();         byte[] buf=content;         f.write(buf);         OutputStream out=new FileOutputStream(fileName);         f.writeTo(out);         f.close();         out.close();     }     /*用于获取文件内容(返回比特流(字节)数组)      */     public static byte[] getFileContent(String fileName) throws IOException {         int size;         File f=new File(fileName);         FileInputStream in = null;         in = new FileInputStream(f);         size=in.available();         byte[] content =new byte[size];         in.read(content,0,size);         in.close();         return content;     }     /*用于删除文件;      */     public static void deleteFile(String fileName) throws  IOException{         String file=fileName;         File f=new File(fileName);         f.delete();     } } /** *这里是第二个类,用了缓冲技术 */ /*用于更新文件内容;      */     public static void updateFileContent(String fileName, byte[] content) throws IOException{         byte[] buf=content;         BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream(fileName));         out.write(content);         out.close();     }     /*用于创建文件;      */     public static void createFile(String fileName)throws IOException{                     String file=fileName;             FileWriter f=new FileWriter(file);             f.close();           }     /*用于获取文件内容      */     public static byte[] getFileContent(String fileName) throws IOException {         File f=new File(fileName);         BufferedInputStream in =  new BufferedInputStream(new FileInputStream(f));         byte[] content =null;         in.read(content);                 in.close();         return content;     }     /*用于删除文件;      */     public static void deleteFile(String fileName) throws  IOException{         String file=fileName;         File f=new File(fileName);         f.delete();     } /** *这是主函数 */ public static void main(String[] args) {         byte[] content = null;        // BufferedReader br=new BufferedReader(new InputStreamReader(System.in));         String fromFile = null;         String toFile=null;         try {          fromFile="g://asd.jpg";          content=FileEditor.getFileContent(fromFile);          for (int i=0;i<1000;i++){              toFile="g://test//";              toFile+=i;              toFile=".jpg";              FileEditor.createFile(toFile);//创建目标文件;              FileEditor.updateFileContent(toFile,content);               }                  } catch (IOException ex) {             ex.printStackTrace();         }     }  在这次试验中,我想对比用缓冲流和不用缓冲流读写文件的效率,同一个文件(150k)复制1000份,在我机器上,不用缓冲的是4秒,用了也是4秒,所以没比较出来。后来当我试图复制更大的文件(30M)时出现了错误。 提示 :Exception in thread "main" java.lang.OutOfMemoryError: Java heap space : 我调试了半天,也没弄懂,希望高手指教。其他的问题没什么,这个类完全可以适用与小于30M的任何情况下使用。

java io操作_Java 的IO操作(文件的读,写操作)相关推荐

  1. 杭电Matlab与仿真-MATLAB基本语法(二)-数据文件的读/写操作

    数据文件的读/写操作 实验目的 实验内容与要求 实验程序与结果 实验目的 学会matlab数据输入与输出基本操作: 熟悉matlab各种文件的输入输出方法,了解常用的图片及音频文件的输入输出: 掌握用 ...

  2. java 命名管道_Java中命名管道的并发读/写(在Windows上)

    我正在尝试使用命名管道在Windows上使用命名管道提供C#应用程序和Java应用程序之间的通信,使用v01ver在此问题中描述的方法: How to open a Windows named pip ...

  3. java实现英文文件单词搜索系统_java对于目录下文件的单词查找操作代码实现

    这篇文章主要介绍了java对于目录下文件的单词查找操作代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 写入文件的目录.代码通过找目录下的文件 ...

  4. java 流压缩_java之IO流:压缩文件

    在java的学习中,IO流是一个避不开的话题.在java日常的学习和使用中,为了给不同的场景提供不同的用途,IO流拥有一个庞大的方法集合.虽然给使用者提供了极大的便利,但此同时也带来了学习时的异常冗杂 ...

  5. java io 结构_java 的IO类库的基本架构

    java IO 操作的类在java.io 包中,大概可以分为以下几组: 基于字节操作的接口:InputStream 和 OutputStream 基于字符操作的接口:Writer 和 Reader 基 ...

  6. java写入简介_Java关于IO流的介绍

    2.InputStream 和 OutputStream 是两个 abstact 类,对于字节为导向的 stream 都扩展这两个基类; inputStream中的关键方法: read():方法是读取 ...

  7. java io顺序_Java顺序IO性能

    java io顺序 许多应用程序将一系列事件记录到基于文件的存储中,以供以后使用. 从日志记录和审核,直到在事件源设计或其紧密相关的CQRS中保留事务重做日志,这都可以是任何东西. Java具有多种方 ...

  8. java io处理_java之IO处理

    一.Java的 IO 处理 1. input output 输入和输出 2. 输入? --学习对于学生来说 -- 由外面的信息到大脑 -- 由外存到内存 3. 输出? -- 授课对于老师来说 -- 由 ...

  9. java文本压缩算法_java 什么算法压缩文件最小

    展开全部 有三种方式实现java压缩: 1.jdk自带的包java.util.zip.ZipOutputStream,不足之处,文件(夹)名称32313133353236313431303231363 ...

  10. java读取日志_Java实时监控日志文件并输出的方法详解

    前言 最近有一个银行数据漂白系统,要求操作人员在页面调用远端Linux服务器的shell,并将shell输出的信息保存到一个日志文件,前台页面要实时显示日志文件的内容.这个问题难点在于如何判断哪些数据 ...

最新文章

  1. POJ2104 K-th Number [分块做法]
  2. navigationController的NavigationBar和ToolBar的POP或PUSH消失问题
  3. ASP.NET Core 中的那些认证中间件及一些重要知识点
  4. scrapy不抓取重复的网页解决办法
  5. thinkphp5每周学习总结 1026
  6. 4月27 统计学——卡方检验和卡方分布
  7. Linux知识(4)----文件系统结构
  8. 主成分分析逆变换_主成分分析方法操作
  9. 我的职业梦计算机软件,我的职业梦作文1000字
  10. 基于PaaS人事部门间平台多重身份的技术解决方案
  11. python的turtle的正六角形简洁画法
  12. 局域网唤醒计算机,电脑远程开机_局域网唤醒电脑 | 茶杯猫
  13. SiamCAR: Siamese Fully Convolutional Classification and Regression for Visual Tracking
  14. 你想要拥有自己的搜索引擎吗?
  15. 惠普触控板使用指南_Windows10触控板的正确使用方法
  16. 吴裕雄--天生自然 诗经:寻隐者不遇
  17. 基于SpringBOOT的订餐系统
  18. C语言程序设计第4堂作业
  19. Vista系统安装优化备忘
  20. cisco english word

热门文章

  1. ABP .Net Core Entity Framework迁移使用MySql数据库
  2. 从ThoughtWorks 2017技术雷达看微软技术
  3. dotnetConf 2016 线上虚拟大会
  4. elif是不是java关键字_C# 中的#if、#elif、#else、#endif等条件编译符号 (转载)
  5. 【数据库原理及应用】经典题库附答案(14章全)——第九章:数据库安全性
  6. 工程测量不用愁,120个视频动画帮你忙,简单易学直观明了!
  7. Android Studio开发基础之Service
  8. Android之可以做的两件坏事---破解锁屏密码和获取Wifi密码
  9. 自定义dialog弹窗html,自定义H5页面dialog弹窗
  10. char添加一个字符_给你五十行代码把图片变成字符画!程序:太多了,一半都用不完...