简单好用,java导出txt文件
2017-08-15 08:46
316 查看
工具类
package com.myships.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
/**
* 功能描述:创建TXT文件
*
* @author jinyihao
* @version $Id: ReadWriteFile.java, v 0.1 2017年8月12日 下午5:27:38 Exp $
*/
public class ReadWriteFile {
/**
* 读取文本文件.
*
* @throws UnsupportedEncodingException
*
*/
@SuppressWarnings("resource")
public static String readTxtFile(File filenameShip)
throws UnsupportedEncodingException {
String readData = null;
BufferedReader br = null;
String readStr = " ";
try {
br = new BufferedReader(new FileReader(filenameShip));
try {
while ((readData = br.readLine()) != null) {
System.out.println("readData:" + readData);
readStr = readStr + readData + "\r\n";
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return readStr;
}
/**
* 导出
* @param contentList数据,但第一个必须时表头
* @param filenameShip 文件夹的位置
* @throws IOException
*/
public static void writeTxtFileFor(List contentList,File filenameShip) throws IOException {
// 先读取原有文件内容,然后进行写入操作
String readStr = " ";
FileWriter writer = null;
for (int i = 0; i < contentList.size(); i++) {
HashMap<String, String> map=(HashMap<String, String>) contentList.get(i);
String filein1 = "\r\n" ;
for (int j = 0; j < map.size()-1; j++) {
filein1+=map.get((1+j)+"")+ readStr;
}
filein1+=map.get((map.size())+"");
filein1+="\r\n";
try {
writer = new FileWriter(filenameShip, true);
writer.write(filein1);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
}
ReadWriteFile.readTxtFile(filenameShip);
}
/**
* 将文件中指定内容的第一行替换为其它内容.
*
* @param oldStr
* 查找内容
* @param replaceStr
* 替换内容
*/
@SuppressWarnings("unused")
public static void replaceTxtByStr(String oldStr,
String replaceStr, String path) {
String temp = "";
try {
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
StringBuffer buf = new StringBuffer();
// 保存该行前面的内容
for (int j = 1; (temp = br.readLine()) != null
&& !temp.equals(oldStr); j++) {
buf = buf.append(temp);
buf = buf.append(System.getProperty("line.separator"));
}
// 将内容插入
buf = buf.append(replaceStr);
// 保存该行后面的内容
while ((temp = br.readLine()) != null) {
buf = buf.append(System.getProperty("line.separator"));
buf = buf.append(temp);
}
br.close();
FileOutputStream fos = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(fos);
pw.write(buf.toString().toCharArray());
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 创建文件路径
* @param destFileName 字符串格式的 文件路径
* @return
*/
public static boolean createFile(String destFileName) {
File file = new File(destFileName);
if(file.exists()) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");
return false;
}
if (destFileName.endsWith(File.separator)) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");
return false;
}
//判断目标文件所在的目录是否存在
if(!file.getParentFile().exists()) {
//如果目标文件所在的目录不存在,则创建父目录
System.out.println("目标文件所在目录不存在,准备创建它!");
if(!file.getParentFile().mkdirs()) {
System.out.println("创建目标文件所在目录失败!");
return false;
}
}
//创建目标文件
try {
if (file.createNewFile()) {
System.out.println("创建单个文件" + destFileName + "成功!");
return true;
} else {
System.out.println("创建单个文件" + destFileName + "失败!");
return false;
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());
return false;
}
}
}
传参
//需要建立起一串的文件夹
//C:\HSTB\[MMSI号]\task[MMSI]_年_月_日-时-分-秒.txt
String path = "C:/HSTB/"+"["+idStrS[1]+"]"+"/"+"task"+"["+idStrS[1]+"]"+nameTime+".txt";
File filenameShip = new File(path);
boolean create_mark=ReadWriteFile.createFile(path);
if (!create_mark) {
return JsonReturn.jsonReturn("300", "导出失败!", "", "", "", "", "");
}
List list2 = new ArrayList();
HashMap<String, String> map = new HashMap<String, String>();
map.put("1", "序号");
map.put("2", "姓名");
map.put("3", "年龄");
map.put("4", "工龄");
map.put("5", "职称");
map.put("6", "职位");
list2.add(map);
list第一个是标题
下面的是内容
HashMap<String, String> map2 = new HashMap<String, String>();
for (TbTargetShipThreshold tST3 : list) {
map2.put("1", "1");
map2.put("2", "A");
map2.put("3","B";
map2.put("4","C";
map2.put("5","D");
map2.put("6", "E");
list2.add(map2);
}
ReadWriteFile.writeTxtFileFor(list2,filenameShip);
ReadWriteFile.replaceTxtByStr("JIN", "YIHAO",path);
}
package com.myships.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
/**
* 功能描述:创建TXT文件
*
* @author jinyihao
* @version $Id: ReadWriteFile.java, v 0.1 2017年8月12日 下午5:27:38 Exp $
*/
public class ReadWriteFile {
/**
* 读取文本文件.
*
* @throws UnsupportedEncodingException
*
*/
@SuppressWarnings("resource")
public static String readTxtFile(File filenameShip)
throws UnsupportedEncodingException {
String readData = null;
BufferedReader br = null;
String readStr = " ";
try {
br = new BufferedReader(new FileReader(filenameShip));
try {
while ((readData = br.readLine()) != null) {
System.out.println("readData:" + readData);
readStr = readStr + readData + "\r\n";
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return readStr;
}
/**
* 导出
* @param contentList数据,但第一个必须时表头
* @param filenameShip 文件夹的位置
* @throws IOException
*/
public static void writeTxtFileFor(List contentList,File filenameShip) throws IOException {
// 先读取原有文件内容,然后进行写入操作
String readStr = " ";
FileWriter writer = null;
for (int i = 0; i < contentList.size(); i++) {
HashMap<String, String> map=(HashMap<String, String>) contentList.get(i);
String filein1 = "\r\n" ;
for (int j = 0; j < map.size()-1; j++) {
filein1+=map.get((1+j)+"")+ readStr;
}
filein1+=map.get((map.size())+"");
filein1+="\r\n";
try {
writer = new FileWriter(filenameShip, true);
writer.write(filein1);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
}
ReadWriteFile.readTxtFile(filenameShip);
}
/**
* 将文件中指定内容的第一行替换为其它内容.
*
* @param oldStr
* 查找内容
* @param replaceStr
* 替换内容
*/
@SuppressWarnings("unused")
public static void replaceTxtByStr(String oldStr,
String replaceStr, String path) {
String temp = "";
try {
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
StringBuffer buf = new StringBuffer();
// 保存该行前面的内容
for (int j = 1; (temp = br.readLine()) != null
&& !temp.equals(oldStr); j++) {
buf = buf.append(temp);
buf = buf.append(System.getProperty("line.separator"));
}
// 将内容插入
buf = buf.append(replaceStr);
// 保存该行后面的内容
while ((temp = br.readLine()) != null) {
buf = buf.append(System.getProperty("line.separator"));
buf = buf.append(temp);
}
br.close();
FileOutputStream fos = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(fos);
pw.write(buf.toString().toCharArray());
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 创建文件路径
* @param destFileName 字符串格式的 文件路径
* @return
*/
public static boolean createFile(String destFileName) {
File file = new File(destFileName);
if(file.exists()) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");
return false;
}
if (destFileName.endsWith(File.separator)) {
System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");
return false;
}
//判断目标文件所在的目录是否存在
if(!file.getParentFile().exists()) {
//如果目标文件所在的目录不存在,则创建父目录
System.out.println("目标文件所在目录不存在,准备创建它!");
if(!file.getParentFile().mkdirs()) {
System.out.println("创建目标文件所在目录失败!");
return false;
}
}
//创建目标文件
try {
if (file.createNewFile()) {
System.out.println("创建单个文件" + destFileName + "成功!");
return true;
} else {
System.out.println("创建单个文件" + destFileName + "失败!");
return false;
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());
return false;
}
}
}
传参
//需要建立起一串的文件夹
//C:\HSTB\[MMSI号]\task[MMSI]_年_月_日-时-分-秒.txt
String path = "C:/HSTB/"+"["+idStrS[1]+"]"+"/"+"task"+"["+idStrS[1]+"]"+nameTime+".txt";
File filenameShip = new File(path);
boolean create_mark=ReadWriteFile.createFile(path);
if (!create_mark) {
return JsonReturn.jsonReturn("300", "导出失败!", "", "", "", "", "");
}
List list2 = new ArrayList();
HashMap<String, String> map = new HashMap<String, String>();
map.put("1", "序号");
map.put("2", "姓名");
map.put("3", "年龄");
map.put("4", "工龄");
map.put("5", "职称");
map.put("6", "职位");
list2.add(map);
list第一个是标题
下面的是内容
HashMap<String, String> map2 = new HashMap<String, String>();
for (TbTargetShipThreshold tST3 : list) {
map2.put("1", "1");
map2.put("2", "A");
map2.put("3","B";
map2.put("4","C";
map2.put("5","D");
map2.put("6", "E");
list2.add(map2);
}
ReadWriteFile.writeTxtFileFor(list2,filenameShip);
ReadWriteFile.replaceTxtByStr("JIN", "YIHAO",path);
}
相关文章推荐
- Java导出数据到txt文件
- java导出txt文件列对齐
- java对txt文本文件的复制粘贴(对文件内容进行了简单的修改)以行为一个处理单位
- Java读取txt文件和写入txt文件的简单实例
- 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)
- Java连接数据库+连续读取文件夹下txt文件+读取出txt文件后字符串简单分割连接处理+导入jar包
- Java 导出txt文件
- 空间复杂度,实现从excel导出到txt文件中的java代码自动构建,逻辑条件不同实现则不同
- java导出txt文件列对齐
- Java 导出txt文件
- 导出txt文件简单的例子
- java导出txt文件
- 批处理导出项目中所有java文件到txt中
- 在Java中简单的读写log或者txt文件内容
- Java导出txt文件的方法
- Java导出excel文件简单实现
- POI导出大量数据的简单解决方案(附源码)-Java-POI导出大量数据,导出Excel文件,压缩ZIP(转载自iteye.com)
- java简单读出和写入txt文件
- Java解析、读取XML文件并存入TXT文件的简单例子