commons io文件操作示例分享

代码如下:

package com.pzq.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringReader;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.io.FileUtils;

/**
 * 文件操作工具类
 * @version 1.0 2013/07/16
 *
 */
public class FileUtil {

/** 
     * 复制文件或者目录,复制前后文件完全一样。 
     * @param resFilePath   源文件路径 
     * @param distFolder    目标文件夹 
     * @IOException         当操作发生异常时抛出 
     */
    public static void copyFile(String resFilePath, String distFolder) 
            throws IOException { 
        File resFile = new File(resFilePath); 
        File distFile = new File(distFolder); 
        if (resFile.isDirectory()) { // 目录时 
            FileUtils.copyDirectoryToDirectory(resFile, distFile); 
        } else if (resFile.isFile()) { // 文件时 
            // FileUtils.copyFileToDirectory(resFile, distFile, true); 
            FileUtils.copyFileToDirectory(resFile, distFile); 
        } 
    }

/** 
     * 删除一个文件或者目录 
     * @param targetPath     文件或者目录路径 
     * @IOException 当操作发生异常时抛出 
     */
    public static void deleteFile(String targetPath) throws IOException { 
        File targetFile = new File(targetPath); 
        if (targetFile.isDirectory()) { 
            FileUtils.deleteDirectory(targetFile); 
        } else if (targetFile.isFile()) { 
            targetFile.delete(); 
        } 
    }

/** 
     * 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!) 
     *  
     * @param res         原字符串 
     * @param filePath    文件路径 
     * @return 成功标记 
     * @throws IOException
     */
    public static boolean string2File(String res, String filePath) throws IOException { 
        boolean flag = true; 
        BufferedReader bufferedReader = null; 
        BufferedWriter bufferedWriter = null; 
        try { 
            File distFile = new File(filePath); 
            if (!distFile.getParentFile().exists()) {// 不存在时创建 
                distFile.getParentFile().mkdirs(); 
            } 
            bufferedReader = new BufferedReader(new StringReader(res)); 
            bufferedWriter = new BufferedWriter(new FileWriter(distFile)); 
            char buf[] = new char[1024]; // 字符缓冲区 
            int len; 
            while ((len = bufferedReader.read(buf)) != -1) { 
                bufferedWriter.write(buf, 0, len); 
            } 
            bufferedWriter.flush(); 
            bufferedReader.close(); 
            bufferedWriter.close(); 
        } catch (IOException e) { 
            flag = false; 
            throw e;
        } 
        return flag; 
    }

/** 
     * 取得指定文件内容
     *  
     * @param res         原字符串 
     * @param filePath    文件路径 
     * @return 成功标记 
     * @throws IOException
     */
    public static List<String> getContentFromFile(String filePath) throws IOException { 
     List<String> lists = null;
     try { 
      if(!(new File(filePath).exists())){
       return new ArrayList<String>();
      }
      lists = FileUtils.readLines(new File(filePath), Charset.defaultCharset());
     } catch (IOException e) { 
       throw e;
     } 
     return lists; 
    }

/**
     * 给指定文件追加内容
     * @param filePath
     * @param contents
     */
    public static void addContent(String filePath, List<String> contents) throws IOException {
      try {
   FileUtils.writeLines(new File(filePath), contents);
  } catch (IOException e) {
    throw e;
  }
    }
}

(0)

相关推荐

  • Apache Commons DbUtils工具包使用介绍

    一.介绍 DBUtils是个小巧的JDBC轻量级封装的工具包,其最核心的特性是在JDBC的基础上做了一层封装,主要是对结果集的封装,可以直接将查询出来的结果集封装成JavaBean,旨在简化JDBC代码混乱与重复. JDBC代码开发,存在很多难点: 1)操作过程复杂,代码操作一个模式,大量的重复. 2)结果集难以处理. 3)到处都强制检查SQLException,影响代码的美观和可读性. 二.熟悉DBUtils 在使用DBUtils之前,应该注意一些问题: 1)DBUtils是JDBC的简单封装

  • JavaEE组件commons-fileupload实现文件上传、下载

    一.文件上传概述 实现Web开发中的文件上传功能,需要两步操作: 1.在Web页面中添加上传输入项 <form action="#" method="post" enctype="multipart/form-data"> <input type="file" name="filename1"/><br> <input type="file" n

  • Apache Commons fileUpload文件上传多个示例分享

    本文通过实例来介绍如何使用commons-fileupload.jar,Apache的commons-fileupload.jar可方便的实现文件的上传功能,具体内容如下 将Apache的commons-fileupload.jar放在应用程序的WEB-INF\lib下,即可使用.下面举例介绍如何使用它的文件上传功能. 所使用的fileUpload版本为1.2,环境为Eclipse3.3+MyEclipse6.0.FileUpload 是基于 Commons IO的,所以在进入项目前先确定Com

  • Commons beanutils组件简介

    Commons Beanutils是Apache开源组织提供的用于操作JAVA BEAN的工具包.使用commons beanutils,我们可以很方便的对bean对象的属性进行操作.今天为大家介绍一下该包的常用方法. 1.什么是BeanUtils 程序中对javabean的操作很频繁, 所以apache提供了一套开源的api,方便对javabean的操作,即BeanUtils组件. 2.BeanUtils的作用 简化javabean的操作. 在一般的写bean组件的时候,都必须要写setter

  • Apache Commons fileUpload实现文件上传之一

    废话不多说了,直奔主题了. 需要两个jar包: commons-fileupload.jar Commons IO的jar包(本文使用commons-io-2.4.jar) 利用Servlet来实现文件上传. package web.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.

  • commons io文件操作示例分享

    复制代码 代码如下: package com.pzq.io;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.StringReader;import java.nio.charset.Charset;import java.util.ArrayList;

  • Scala文件操作示例代码讲解

    目录 1. 读取数据 1.1 按行读取 1.2 按字符读取 Scala使用source.buffered方法按字符读取文件 一个示例 1.3 读取词法单元和数字 1.4 从URL或者其他源读取数据 1.5 读取二进制文件 2. 写入文件 2.1 使用java.io.PrintWriter类 2.2 使用java.io.FileWriter类 2.3 使用java.io.FileOutputStream类 2.4 几种写入的区别 2.5 使用第三方库 3. Scala序列化和反序列化 3.1 什么

  • C#实现的基于二进制读写文件操作示例

    本文实例讲述了C#实现的基于二进制读写文件操作.分享给大家供大家参考,具体如下: using System; using System.IO; class MyStream { private const string FILE_NAME = "Test.data"; public static void Main(String[] args) { // Create the new, empty data file. if (File.Exists(FILE_NAME)) { Con

  • Java RandomAccessFile基本文件操作示例

    本文实例讲述了Java RandomAccessFile基本文件操作.分享给大家供大家参考,具体如下: 一 简介 RandomAccessFile:java提供对文件内容的访问,既可以读文件,也可以写文件. RandomAccessFile支持随机访问文件,可以访问文件的任意位置 1.java文件模型 在硬盘上的文件是byte byte byte存储的,是数据的集合 2.打开文件 有两种模式"rw"(读写) "r"(只读) RandomAccessFile raf

  • PHP Swoole异步读取、写入文件操作示例

    本文实例讲述了PHP Swoole异步读取.写入文件操作.分享给大家供大家参考,具体如下: 异步读取文件:swoole_async_readfile 异步写入文件:swoole_async_writefile [示例] 读取文件 readfile.php: <?php $res = swoole_async_readfile(__DIR__."/1.txt", function($filename, $content) { echo "文件名:{$filename} 内

  • PHP5.6读写excel表格文件操作示例

    本文实例讲述了PHP5.6读写excel表格文件操作.分享给大家供大家参考,具体如下: 测试环境:php5.6.24.这块没啥兼容问题. 需要更多栗子,请看PHPExcel的examples.还是蛮强大的. 读取excel文件: 第一步.下载开源的PHPExcel的类库文件,官方网站是http://www.codeplex.com/PHPExcel.里面也有很多示例包. 或者从本站下载:https://www.jb51.net/codes/194070.html 第二步.读取的基本代码示例: <

  • Python实现爬虫抓取与读写、追加到excel文件操作示例

    本文实例讲述了Python实现爬虫抓取与读写.追加到excel文件操作.分享给大家供大家参考,具体如下: 爬取糗事百科热门 安装 读写excel 依赖 pip install xlwt 安装 追加excel文件内容 依赖 pip install xlutils 安装 lxml Python示例: import csv import requests from lxml import etree import time import xlwt import os from xlutils.copy

  • python读写文件操作示例程序

    文件操作示例 复制代码 代码如下: #输入文件f = open(r'D:\Python27\pro\123.bak') #输出文件fw = open(r'D:\Python27\pro\123e.bak','w')#按行读出所有文本lines = f.readlines()num = -1for line in lines:    str = '@SES/%i/' %num    line = line.replace('@SES/1/',str)    num = num + 1    #写入

  • Android API编程之Assets文件操作示例

    本文实例讲述了Android API Assets文件操作.分享给大家供大家参考,具体如下: public class ReadAssetActivity extends Activity { private TextView mTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.re

  • Python实现的读取文件内容并写入其他文件操作示例

    本文实例讲述了Python实现的读取文件内容并写入其他文件操作.分享给大家供大家参考,具体如下: 文件目录结构,如图: read_file.py是工作文件,file_test.py是读取文件源,write_test.py是写入目标文件. 文件A:file_test.py #coding=utf-8 for i in range(1, 10): print i 文件B:read_file.py # coding=utf-8 # 打开件A f = open('./file_test.py', 'rb

随机推荐