package txt;
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.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
/**
* 功能描述:创建TXT文件并进行读、写、修改操作
* @author lizhiyong
* @version $Id: ReadWriteFile.java, v 0.1
2014年8月5日 下午1:27:38 Exp $
*/
public class ReadWriteFile {
//指定文件路径和名称
private static String path = "C:/测试.txt";
private static File filename = new File(path);
private static String readStr = " ";
/**
* 创建文本文件.
* @throws IOException
*
*/
public static void creatTxtFile() throws IOException {
if (!filename.exists()) {
filename.createNewFile();
System.err.println(filename + "已创建!");
} else {
filename.delete();
creatTxtFile();
}
}
/**
* 读取文本文件.
* @throws UnsupportedEncodingException
*
*/
@SuppressWarnings("resource")
public static String readTxtFile() throws UnsupportedEncodingException {
String readData = null;
//BufferedReader br = null;
BufferedReader br = null;
try {
//br = new BufferedReader(new InputStreamReader(new FileInputStream(filename)));
br = new BufferedReader(new FileReader(filename));
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();
}
System.out.println("文件内容2是:" + "\r\n" + readStr);
return readStr;
}
/**
* 给文件写内容.
* @param content 写入的文件内容
* @throws IOException
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void writeTxtFile(List contentList, HashMap<String, String> map)
throws IOException {
//先读取原有文件内容,然后进行写入操作
FileWriter writer = null;
String filein = map.get("1") + readStr + map.get("2") + readStr + map.get("3") + readStr
+ map.get("4");
try {
writer = new FileWriter(filename, true);
writer.write(filein);
} catch (IOException e1) {
e1.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
for (Iterator iterator = contentList.iterator(); iterator.hasNext();) {
HashMap<String, String> map2 = (HashMap<String, String>) iterator.next();
String name = map2.get("name");
String age = map2.get("age");
String postion = map2.get("postion");
String complit = map2.get("complit");
String filein1 = "\r\n" + name + readStr + age + readStr + postion + readStr + complit
+ "\r\n";
try {
writer = new FileWriter(filename, true);
writer.write(filein1);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
}
readTxtFile();
}
/**
* 将文件中指定内容的第一行替换为其它内容.
*
* @param oldStr
* 查找内容
* @param replaceStr
* 替换内容
*/
@SuppressWarnings("unused")
public static void replaceTxtByStr(String oldStr, String replaceStr) {
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();
}
}
/**
* main方法测试
* @param s
* @throws IOException
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] s) throws IOException {
ReadWriteFile.creatTxtFile();
//ReadWriteFile.readTxtFile();
List list = new ArrayList();
HashMap<String, String> map = new HashMap<String, String>();
map.put("1", "姓名");
map.put("2", "年龄");
map.put("3", "职位");
map.put("4", "工作单位");
HashMap<String, String> map2 = new HashMap<String, String>();
map2.put("name", "李四");
map2.put("age", "25");
map2.put("postion", "Java开发工程师");
map2.put("complit", "上海汽车财务集团有限公司");
list.add(map2);
HashMap<String, String> map3 = new HashMap<String, String>();
map3.put("name", "李四1");
map3.put("age", "251");
map3.put("postion", "Java开发工程师1");
map3.put("complit", "上海汽车财务集团有限公司1");
list.add(map3);
ReadWriteFile.writeTxtFile(list, map);
// ReadWriteFile.replaceTxtByStr("ken", "zhang");
}
}
分享到:
相关推荐
* 功能:Java读取txt文件的内容 * 步骤:1:先获得文件句柄 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。readline...
这样,我们就完成了从二进制STL文件提取数据并生成TXT文件的过程。需要注意的是,实际的STL文件可能存在字节序问题,因为STL文件格式不规定字节序。如果在不同平台上遇到问题,可能需要进行字节序的转换,例如使用`...
在Java编程环境中,二维码的生成与解析是一项常见的需求,特别是在移动应用、数据交换以及物联网等领域。本主题将深入探讨如何使用Java实现这...同时,阅读和理解附带的文档和教程,将有助于更好地理解和使用这些示例。
本话题聚焦于"解析txt类型的试题文档",这是一个使用Java编写的程序,它的主要功能是解析txt格式的试题文档,并将这些数据转换成XML文档。让我们深入探讨这个过程涉及的技术点。 首先,txt文件是一种常见的纯文本...
《.NET 生成和解析 JSON》 在现代的Web开发中,JSON(JavaScript Object Notation)已经成为数据交换的标准格式,因为它轻量级、易于阅读和编写,并且被大多数编程语言支持。在.NET环境中,处理JSON涉及到两个主要...
本教程主要涉及三个核心知识点:使用Delphi编程语言读取TXT文件并生成新的TXT文件、创建XML文件以及解析XML文件并将其转换为TXT格式。这些功能在数据转换、数据存储和数据交换等场景下尤为实用。 首先,我们来探讨...
这个项目提供的源码应该包含了以上所有步骤的实现,你可以通过`使用说明.txt`文件了解如何编译和运行代码。这个完整的源码示例对学习和理解.NET中二维码操作非常有帮助,无论是生成、解析还是实时识别,都能为你提供...
#### 二、动态生成TXT文件的核心代码解析 接下来,我们将详细分析题目中给出的代码片段,了解其工作原理及如何实现动态生成TXT文件的功能。 - **Response对象的作用**:在ASP.NET中,`Response`对象主要用于控制...
功能:能够提取把TXT文档中的指定的字符串,并写入新建文件中。...操作:把需要解析的TXT文档拖入执行文件里,然后在对话框中输入起始和结束标记(严格按照举例格式),工具就会提取指定字符串,并生成新文件。
5. **pdir.txt, doc.txt**:这些可能是配置文件或日志文件,记录了项目的目录结构或者工具生成文档过程中的信息。开发者可以根据这些文件调整生成文档的设置。 C++文档生成器的工作原理通常包括以下几个步骤: 1. ...
它包括一个解析器(Parser)用于读取JSON,一个生成器(Generator)用于写入JSON,以及一个模型(Model)来表示JSON结构。 4. JSON-B(Java Bindings for JSON-B):这是另一个Java标准API,类似于Gson,但遵循JSR ...
6. **文件格式选择**:除了txt文件,dat文件通常用于存储二进制数据。如果要导出为dat文件,数据写入时不需要转换为字符串,而是直接写入原始字节。注意,dat文件的读取和解析需要知道数据结构,因为它不包含任何...
将 内容 导入到txt 以及 excel中 ,进行抽象封装,对外提供简单的api ,并且将 excel文件映射到list对象中去 ,不需要自己进行解析,实现通用化,这里使用了 annoation 感觉 挺好! 可以下载看看 ,写的不好的可以 跟我 交流...
"oui.txt 网卡查询 txt文件解析"这个主题就聚焦于如何处理和解析这种特定类型的文本文件,以便获取关于网络接口控制器(NICs)的制造商信息。OUI,全称为Organizationally Unique Identifier,是由IEEE分配给各制造...
4. **生成**:在上下文中,生成指的是将TXT文件转换为CHM文件的过程,这可能涉及到文本解析、HTML编译和文件打包等步骤。 5. **工具**:描述中提到的工具,可能是一个名为“TxtChmFile”的应用程序,用于实现批量...
在Java编程环境中,生成JSON文件和Word文档是常见的任务,特别是在数据处理、报告生成或API交互等场景。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,而Word文档则广泛用于创建结构化的文本报告...
这个“读取excel自动生成sql文的txt文件”的工具显然是为了解决这一问题而设计的。它允许用户通过Excel表格结构快速生成对应的SQL插入语句,极大地提高了工作效率。 首先,我们需要理解Excel文件的结构。Excel是一...
您可能感兴趣的文章:python方法生成txt标签文件的实例代码Python读写txt文本文件的操作方法全解析python实现对文件中图片生成带标签的txt文件方法Python实现合并同一个文件夹下所有txt文件的方法示
在这个“java使用iText解析pdf并生成文本文件—eclipse工程”中,我们将探讨如何利用iText库在Java环境中,特别是在Eclipse集成开发环境中,解析PDF文档并将其内容导出为文本文件。 首先,我们需要理解PDF...
本章节将深入探讨Android环境下如何进行XML的解析和生成,这对于理解数据交互、API调用以及本地数据存储至关重要。 一、XML解析 1. DOM解析器:DOM(Document Object Model)模型是把XML文档加载到内存中,形成一...