代码:

package com.lky.pojo;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;import org.junit.After;
import org.junit.Ignore;
import org.junit.Test;/**
* @Title: fileUtil.java
* @Package com.lky.pojo
* @Description: 文件操作的工具类
* @author lky
* @date 2015年10月20日 下午4:21:35
* @version V1.0*/
public class fileUtil {/*** @Title: stringToFile * @Description: 将字符串存入文件(适用于任何类型的数据:图片,音频,视频,文本)* @param  str  待存储的字符串* @param  fname 文件名* @param  flag    是否以追加的方式写入文件*/public void stringToFile(String str, String fname, boolean flag) {FileOutputStream fos = null;File file = new File(fname);try {if (!file.exists()) {String parentName = file.getParent();// 获取父文件夹名new File(parentName).mkdirs();// 创建父文件夹
                file.createNewFile();}fos = new FileOutputStream(file, flag);fos.write(str.getBytes());fos.flush();} catch (Exception e) {e.printStackTrace();} finally {if (fos != null) {try {fos.close();} catch (IOException e) {e.printStackTrace();}}}}/*** @Title: StringToFileBuffered * @Description: 将字符串存入文件(仅在存入的数据为纯文本时,推荐使用,其它类型不使用)* @param  str  待存储的字符串* @param  fname 文件名* @param  flag    是否以追加的方式写入文件*/public void StringToFileBuffered(String str, String fame, boolean flag) {BufferedWriter bw = null;FileWriter fw = null;File file = new File(fame);try {if (!file.exists()) {new File(file.getParent()).mkdirs();file.createNewFile();}fw = new FileWriter(file, flag);bw = new BufferedWriter(fw);bw.write(str);bw.flush();} catch (Exception e) {e.printStackTrace();} finally {try {if (bw != null) {bw.close();}if (fw != null) {fw.close();}} catch (Exception e2) {e2.printStackTrace();}}}/*** @Title: fileToStringBuffered * @Description: 从文件中读入字符串(仅当该文件为文本文件,推荐使用)* @param 文件名*/public String fileToStringBuffered(String fname) {BufferedReader br = null;FileReader fr = null;StringBuffer sBuffer = new StringBuffer();File file = new File(fname);try {if (!file.exists()) {return sBuffer.append(new String("文件不存在")).toString();}fr = new FileReader(file);br = new BufferedReader(fr);String line = null;while ((line = br.readLine()) != null) {sBuffer.append(line+"\r\n");}} catch (Exception e) {e.printStackTrace();} finally {try {if (br != null) {br.close();}if (fr != null) {fr.close();}} catch (Exception e2) {e2.printStackTrace();}}return sBuffer.toString();}/*** @Title: fileToStringBurstMode * @Description: 从文件中读入数据(快字节流方式)* @param 文件名*/public String fileToStringBurstMode(String fname) {File file = new File(fname);FileInputStream fis = null;StringBuffer sBuffer = new StringBuffer();try {if (!file.exists()) {System.out.println("文件不存在。。。。");return sBuffer.toString();}fis = new FileInputStream(file);int length = fis.available();if (length <= 0)return sBuffer.toString();;byte[] buffer = new byte[length];int offset = 0;int toRead = length - offset;while (toRead > 0) {int len = fis.read(buffer, offset, toRead);offset += len;toRead -= len;}sBuffer.append(new String(buffer, "utf-8"));} catch (Exception e) {e.printStackTrace();} finally {if (fis != null) {try {fis.close();} catch (IOException e) {e.printStackTrace();}}}return sBuffer.toString();}/*** @Title: filetoStringSlowMode * @Description: 从文件中读入数据(慢字节流方式)* @param 文件名*/public String filetoStringSlowMode(String fname) {FileInputStream fis = null;ByteArrayOutputStream baos = null;StringBuffer sBuffer = new StringBuffer();File file = new File(fname);try {if (!file.exists()) {return sBuffer.append("该文件不存在").toString();}baos = new ByteArrayOutputStream();fis = new FileInputStream(file);int len = 0;while ((len = fis.read()) != -1) {baos.write(len);}sBuffer.append(baos.toString());} catch (Exception e) {e.printStackTrace();} finally {try {if (fis != null) {fis.close();}if (baos != null) {baos.close();}} catch (Exception e2) {e2.printStackTrace();}}return sBuffer.toString();}@Test@Ignorepublic void test1() {stringToFile("l love you " + "\r\n", "c:\\li\\one.txt", true);}@Afterpublic void testAfter() {System.out.println("---------------------------");}@Test@Ignorepublic void test2() {System.out.println(fileToStringBurstMode("c:\\one.txt"));}@Test@Ignorepublic void test3() {System.out.println(filetoStringSlowMode("c:\\one.txt"));}@Testpublic void test4(){System.out.println(fileToStringBuffered("c:\\zhang\\one.txt"));}@Test@Ignorepublic void test5(){StringToFileBuffered("l love you " + "\r\n", "c:\\zhang\\one.txt", true);}
}

转载于:https://www.cnblogs.com/dmir/p/4895209.html

java中文件操作的工具类相关推荐

  1. java中文件,java中文件操作大全

    java中文件操作大全 一.获得控制台用户输入的信息 view plaincopy to clipboardprint? / //获得控制台用户输入的信息 return throws ioexcept ...

  2. java中常用的日期工具类

    java中常用的日期工具类 日期相关的类: package net.yto.ofclacct.core.util;import java.text.ParseException; import jav ...

  3. java中定义一个CloneUtil 工具类

    其实所有的java对象都可以具备克隆能力,只是因为在基础类Object中被设定成了一个保留方法(protected),要想真正拥有克隆的能力, 就需要实现Cloneable接口,重写clone方法.通 ...

  4. java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?

    上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...

  5. JAVA中实用的一个工具类--Hutool

    什么是Hutool Hutool是一个Java工具包,也就是一个工具箱,一个utils集合,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以简单粗暴.Hutool最初是作者项目中&quo ...

  6. Java中文件操作和IO

    目录 一.文件 1.1 文件的概念 1.2 文件的路径 1.2.1 绝对路径 1.2.2 相对路径 1.3 文件的分类 二.Java中操作文件 案例1 案例2 案例3 案例5 案例6 三.文件的读写- ...

  7. java中常用到的工具类使用

    Tool 不定期更新,建议收藏,收录日常所用 1,判断对象是否为空的常用工具类 2,对象和数组的复制 3,关于拼接字符串去掉最后一个符号的三种方式 4,判断对象值属性不为null并且不为空字符串 5, ...

  8. JWT|概述|JWT结构|JWT在java中的使用|JWT工具类的封装|JWT在springboot中的使用|JWT与拦截器的配合

    JWT ! 前记: 官网:https://jwt.io/ jwt有人说是用计算力换空间(相对于session) 小程序后台要求全部用springboot实现..登录状态的管理:本来想用自己随便生成UU ...

  9. java中操作时间的常用工具类

    在开发中经常会遇到操作时间类的业务,虽然代码部分并不算难,但为了今后查找和使用方便,现将常用的几种操作时间的工具类代码予以罗列,以便今后参考: 下面直接上代码,难度不大,诸位小伙伴可自行参考,酌情使用 ...

最新文章

  1. oracle数据库查询人员和岗位,oracle岗位需求收集
  2. 2017-12-25 Linux学习笔记
  3. #51CTO学院四周年# 成长路上的我和你
  4. setjump longjump
  5. Scapy学习笔记二
  6. 金环(2017佛山市选拔初中组)
  7. 山东理工大学计算机学院学号,计算机组成原理课程设计--山东理工大学计算机学院...
  8. kibana-7.3.0安装配置
  9. 想了解“云+AI”究竟怎么“玩儿”,还要看这里、看这里!
  10. Java ByteCode
  11. MySQL可视化工具下载安装及连接
  12. 《周易》乾卦-大象.小象
  13. [腾讯社区开放平台]介绍开放授权协议-OAuth
  14. Phusion Passenger
  15. WIN7下Virtualbox虚拟Ubuntu共享文件夹设置
  16. 播动师,直播广场,一目了然看到直播态势
  17. 光纤跳线、尾纤、光纤连接器之间有什么区别
  18. Nginx 根据URL带的参数转发
  19. layui 点击行事件 修改当前行颜色
  20. Python中UDP/TCP通讯简单案例

热门文章

  1. 谷歌如何通过机器学习实现逼真AR实时自拍效果
  2. 工业机器人的下一个竞争焦点已经非常明确:通用人工智能(AGI)
  3. 免费教材丨第49期:数学基础课程----漫画线性代数、微积分超入门
  4. IEEE Spectrum调查:AI 的 6 种最坏情况
  5. AI不会很快取代作家——但未来可能比你想象的更近
  6. AI智能体学会动物进化法则:李飞飞等提出深度进化RL
  7. 深度学习中的3个秘密:集成、知识蒸馏和蒸馏
  8. 新基建下的自动驾驶:单车智能和车路协同之争
  9. 科技垄断正在朝着纵向发展
  10. 38页PPT深度解析:半导体设备产业链全景图