JAVA I/O流工具类TextFile由广州疯狂软件java培训分享:

  本文是一个TextFile类,通过这个类我们可以调用其中的方法来简化对文件的读写,这段代码的可用性比较强。这个TextFile类如下:

  import java.io.*;

  import java.util.*;

  public class TextFile extends ArrayList<String>{

  public static String read(String filename){

  StringBuilder sb=new StringBuilder();

  try{

  BufferedReader in=new BufferedReader(new FileReader(

  new File(filename).getAbsoluteFile()));

  try{

  String s;

  while((s=in.readLine())!=null){

  sb.append(s);

  sb.append("\n");//在读的过程中换行符会被去除掉,

  因此需要为每行加上换行符

  }

  }finally{

  in.close();

  }

  }catch(IOException e){

  throw new RuntimeException(e);

  }

  return sb.toString();

  }

  public TextFile(String filename,String splitter){

  super(Arrays.asList(read(filename).split(splitter)));

  if(get(0).equals("")) remove(0);

  }

  public TextFile(String filename){

  this(filename,"\n");

  }

  public void write(String filename){

  try{

  PrintWriter out=new PrintWriter(new File

  (filename).getAbsoluteFile());

  try{

  for(String item : this) out.println(item);

  }finally{

  out.close();

  }

  }catch(IOException e){

  throw new RuntimeException(e);

  }

  }

  public static void write(String filename,String text){

  //其中filename指明要写入的文件名,text指明写入的字符串内容

  try{

  //虽然字符串里面含有换行符,但是直接写入文件里面的时候它不会被识别

  //我们采用split方法,以字符串里面的“\n"为界将字符串拆开

  //然后写文件的时候我们再人为地进行换行操作。

  //如果直接将text里面的内容写入文件里面,www.fkit.org可以看到text里面的"\n"符

  号在文件里面得不到体现

  FileWriter fwriter=new FileWriter(new File

  (filename).getAbsoluteFile());

  BufferedWriter out=new BufferedWriter(fwriter);

  String []tx=text.split("\n");

  try{

  for(int i=0;i

  {

  out.write(tx[i]);

  out.newLine();

  }

  }finally{

  out.flush();

  out.close();

  }

  }catch(IOException e){

  throw new RuntimeException(e);

  }

  }

  public static void main(String []args)

  {

  TextFile tf=new TextFile("TextFile.txt");

  tf.write("dd.zip");

  }

  }

  那么如何利用这个类读写文件呢?

  假设已经存在一个TextFile.txt文件

  (1)调用静态方法read()读文件:String str=TextFile.read("TextFile.txt");这样就可以将文件内容读取到字符串中去了。

  (2)调用静态方法write(String filename,String text)写文件:紧接着上面例子,假设

  TextFile.txt的内容已经写到字符串str里面了。现在我们需要将str内容写入到文件"Text.txt"里面。可按照如下操作即可:

  TextFile.write("Text.txt",str);

  (3)调用非静态方法write(String filename)实现文件复制:假设我们要将已经存在的"TextFile.txt"的文件复制给一个不存在的文件“Text2.txt",我们可以采用以下方式:

  TextFile tFile=new TextFile("TextFile.txt");

  tFile.write("text2.txt");

  上面介绍了这3个方法的使用,使用这个小工具类可以简化对文件的操作。

  想进入软件开发行业的朋友,建议参加软件开发培训,这样能有效地缩短同企业具体用人要求之间的差距。疯狂Java培训让学员简单易学,快速上手Java核心技术。最新,最好,最强大的Java培训首选疯狂软件学院,专注Java培训,师资强,口碑好,就业率高,疯狂Java培训给对Java感兴趣的学员们搭建一座通往IT金领的桥梁!

  疯狂软件学院一直以来致力于帮助大学生提高工作技能,摆脱就业难的问题,疯狂软件的Java开发成为了许多计算机专业或者是非计算机专业的大学生继续深造的方向。疯狂软件学院注重培养学生实际动手能力,通过企业全真实战教学,让学生在实践中获得真正的工作技能。

转载于:https://www.cnblogs.com/gojava/p/3673805.html

JAVA I/O流工具类TextFile相关推荐

  1. java每秒限流_java限流工具类

    代码 import com.google.common.util.concurrent.RateLimiter; import java.util.concurrent.ConcurrentHashM ...

  2. Java常用工具类(六):文件、资源、IO流工具类

    1. 文件工具类 1.1 FileCopyUtils 输入 // 从文件中读入到字节数组中 byte[] copyToByteArray(File in) // 从输入流中读入到字节数组中 byte[ ...

  3. java Excel导入导出工具类 及使用demo

    java Excel导入导出工具类 及使用demo 前言:相信进来的都是想尽快解决问题的,话不多说,按照以下步骤来,可以操作导出excel到本地,导入同理,自行学习.步骤一:直接复制以下excel工具 ...

  4. Java图片处理 - 创建工具类

    Java图片处理 - 创建工具类 Java原生代码实现工具类 Java原生代码实现使用jdk内部的GIFImageReader.GIFImageWriter等类,maven在编译的时候会提示这是sun ...

  5. 《Java并发编程的艺术》——Java中的并发工具类、线程池、Execute框架(笔记)

    文章目录 八.Java中的并发工具类 8.1 等待多线程完成的CountDownLatch 8.2 同步屏障CyclicBarrier 8.2.1 CyclicBarrier简介 8.2.2 Cycl ...

  6. 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)

    文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...

  7. java项目常用的工具类

    前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...

  8. Java 线程 - 基础及工具类 (二)

    Java 并发系列文章 Java 线程 - 并发理论基础(一) Java 线程 - 基础及工具类 (二) Java 线程 - 并发设计模式 (三) Java 线程(二) 通用的线程生命周期 Java ...

  9. java图片缩放工具类,一个JAVA图形缩放处置工具类

    一个JAVA图形缩放处理工具类 调用的例子 import java.io.FileOutputStream; import java.io.IOException; import javax.imag ...

最新文章

  1. 互联网企业的移动布局
  2. 看看Vector源码Java 9
  3. mysql数据类型不写(),MYSQL 数据类型
  4. 企业管理软件能带来什么
  5. Tyvj-TOM的无穷序列
  6. Cisco 综合交换实验Dynamips.Net实现方法
  7. 2016-2017 Central Europe Regional Contest Hangar Hurdles 克鲁斯卡尔重构树 + 建图
  8. Shebang来Java了吗?
  9. php怎么分割页面,将一个页面分成多个html文件(静态html分割页面)
  10. 在线看大会!就来云栖号!
  11. 016 pickle
  12. 新消费催生新制造:拼多多一年将培育百家销量过亿家纺企业
  13. Netty-4-服务端接受客户端传递过来的信息并返回给客户端指定的信息
  14. 前端—每天5道面试题(4)
  15. cad关闭图层的快捷命令是什么_36个CAD快捷键命令,18个CAD制图技巧,学会轻松玩转CAD...
  16. win10 打开注册表
  17. C# 设置PPT的表格样式
  18. NLPIR python测试
  19. ArcGIS聚类分析
  20. oracle数据文件大小

热门文章

  1. Asp.Net中判断是否登录,及是否有权限?
  2. linux下多版本gcc编译器管理方法
  3. gj10 python socket编程
  4. HD2500显卡驱动linux,Intel发布HD Graphics 2500/4000显卡Win10驱动下载
  5. redis 什么是冷数据_阿里Java三面凉凉:微服务,Redis,JVM一个都搞不懂
  6. oraclesqldeveloper 批量插入多个存储过程_MongoDB如何批量执行写操作
  7. 技术干货 | 闲鱼:一个优秀的 Push 平台,需要经历怎样的前世今生
  8. Linux系统诊断实践-内存基础
  9. 小打卡基于阿里云构建企业级数仓的实践及总结
  10. 喝酒撸串聊技术!来看云栖大会15位大咖真人秀