package com.vcredit.ddcash.batch.util;

import com.vcredit.ddcash.batch.autoAdvance.AutoAdvanceTask;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;

import java.io.*;

/**
* 操作文件工具类
* Created by xutao on 2016/11/9 0009.
*/
public class FileIOUtils {
private static final Logger LOGGER = Logger.getLogger(FileIOUtils.class);

/**
* 保存内容到指定的路径的文件中,根据分隔符换行
*
* @param targetFolder 指定的文件路径
* @param fileName 指定的文件名
* @param saveContent 待保存的内容
*/
public static void saveStringArray2File(File targetFolder, String fileName, String saveContent, String delimiter) {
if (targetFolder == null
|| StringUtils.isBlank(fileName)
|| StringUtils.isEmpty(saveContent)
|| StringUtils.isBlank(delimiter)) {
throw new RuntimeException("请求参数不正确->不能为空");
}

BufferedWriter writer = null;
try {
if (!targetFolder.exists()) {
targetFolder.mkdirs();
}
File targetFile = new File(targetFolder, fileName);
if (!targetFile.exists()) {
targetFile.createNewFile();
}
LOGGER.info("开始写入到文件,参数->路径名->" + targetFolder.getPath() + "->文件名->" + fileName + "->保存内容->" + saveContent + "->分隔符->" + delimiter);
writer = new BufferedWriter(new FileWriter(new File(targetFolder, fileName), true));
String[] contentArr = saveContent.split(delimiter);
for (String str : contentArr) {
writer.write(str, 0, str.length());
writer.newLine();
}
writer.flush();
} catch (Exception e) {
LOGGER.error("写入字符串到文件失败", e);
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
LOGGER.error("关闭IO流失败");
}
}
}
}

}

FileIOUtils.java的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

随机推荐

  1. Linux系统性能10条命令监控

    Linux系统性能10条命令监控 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 p ...

  2. 仓库如何盘点 打印扫描一体PDA盘点机提升库存盘点效率

    仓库盘点是对仓储货品的收发结存等活动进行有效控制,保证仓储货品完好无损.帐物相符,确保生产正常进行,规范公司物料的盘点作业.盘点需人工操作,费时费力,PDA盘点机的出现大幅提升了盘点效率,减轻了工作人 ...

  3. Scau 8633 回文划分 mancher + dp

    时间限制:1000MS 内存限制:1000K 提交次数: 通过次数: 题型: 编程题 语言: G++;GCC Description 我们说一个字符串是回文串,那么意味着这个串从两边读起来的字母都是一 ...

  4. UVa1212 Duopoly(最小割)

    题目大概说有两家通讯公司,它们分别有几个投标,投标各有价值且各个投标都包含几个频道,相同公司的各个投标包含频道都是互不相同的,而频道不能被同时选用.问怎么选择采取哪家公司哪些投标使得价值最大. 如此建 ...

  5. Backbone.js学习之二

    经历一段自我修炼,终于领悟到Backbone.js的关键知识点,也发现了原来MVC可以在前端这样梦幻的发挥,Backbone.js确实是一个很有魅力的前端MVC框架. 练就一门技术,需要有扎实的功底, ...

  6. CF# 334 Alternative Thinking

    A. Alternative Thinking time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  7. bzoj1005 [HNOI2008]明明的烦恼

    1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3032  Solved: 1209 Description ...

  8. Mybatis Generator insert useGeneratedKeys keyProperty

    Mybatis自动生成代码,需要用到mybatis Generator,详见http://mybatis.github.io/generator/configreference/generatedKe ...

  9. jquery属性过滤选择器

    http://www.jb51.net/article/46279.htm   $("div[id]").addClass("highlight"); //查找 ...

  10. 彻底弄明白之数据结构中的KMP算法

    如何加速朴素查找算法? KMP,当然还有其他算法,后续介绍.      Knuth–Morris–Pratt string search algorithm Start at LHS of strin ...