`
loyalbluer
  • 浏览: 41209 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Java读写文件备记

阅读更多
package velcro.util;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 对文本文件进行读写操作
 */
public class WriteAndReadText {
	/**
	 * 文本文件所在的目录
	 */
	private String textPath;
	/**
	 * 读取文本内容
	 * @param textname 文本名称
	 * @return
	 */
	public String readText(String textname){
		File file=new File(textPath+File.separator+textname);
		try {
			BufferedReader br = new BufferedReader(new java.io.FileReader(file));
			StringBuffer sb = new StringBuffer();
			String line = br.readLine();
			while (line != null) {
				sb.append(line);
				line = br.readLine();
			}
			br.close();
			return sb.toString();
		} catch (IOException e) {
			LogInfo.error(this.getClass().getName(),e.getLocalizedMessage(),e);
			e.printStackTrace();
			return null;
		}
	}
	}
	/**
	 * 将内容写到文本中
	 * @param textname 文本名称
	 * @param date 写入的内容
	 * @return
	 */
	public boolean writeText(String textname,String date){
		boolean flag=false;
		File filePath=new File(textPath);
		if(!filePath.exists()){
			filePath.mkdirs();
		}
		try {
			FileWriter fw =new FileWriter(textPath+File.separator+textname);
			fw.write(date);
			flag=true;
			if(fw!=null)
				fw.close();
		} catch (IOException e) {
			LogInfo.error(this.getClass().getName(),e.getMessage(),e);
			e.printStackTrace();
		}

		return flag;		
	}
	/**
	 * 在文档后附加内容
	 * @param textName
	 * @param date
	 * @return
	 */
	public boolean appendText(String textName,String date){
		boolean flag=false;
		File filePath=new File(textPath);
		if(!filePath.exists()){
			filePath.mkdirs();
		}
		try {
			FileWriter fw =new FileWriter(textPath+File.separator+textName,true);
			fw.append(date);
			flag=true;
			if(fw!=null)
				fw.close();
		} catch (IOException e) {
			LogInfo.error(this.getClass().getName(),e.fillInStackTrace().toString());
			e.printStackTrace();
		}
		return flag;	
	}
	public String getTextPath() {
		return textPath;
	}
	public void setTextPath(String textPath) {
		this.textPath = textPath;
	}
}

PrintWriter out = new PrintWriter(new FileWriter(logFileName, true), true);
Java读写文件最常用的类是FileInputStream/FileOutputStream和FileReader/FileWriter。
其中FileInputStream和FileOutputStream是基于字节流的,常用于读写二进制文件。
读写字符文件建议使用基于字符的FileReader和FileWriter,省去了字节与字符之间的转换。
但这两个类的构造函数默认使用系统的编码方式,如果文件内容与系统编码方式不一致,可能会出现乱码。
在这种情况下,建议使用FileReader和FileWriter的父类:InputStreamReader/OutputStreamWriter,
它们也是基于字符的,但在构造函数中可以指定编码类型:InputStreamReader(InputStream in, Charset cs) 和OutputStreamWriter(OutputStream out, Charset cs)。

// 读写文件的编码:
InputStreamReader r = new InputStreamReader(new FileInputStream(fileName), “utf-8″);
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(fileName),”utf-8″);

Java输入回车“\r\n”,或者使用
FileWriter fw=new FileWriter(file);
PrintWriter out=new PrintWriter(fw);
out.println(str1);
out.println(str2);

分享到:
评论

相关推荐

    java访问共享文件

    - **读取文件**:使用SmbFile对象的`InputStream`来读取文件内容。 - **写入文件**:使用`OutputStream`来写入数据到共享文件。 - **创建/删除/重命名文件/目录**:`createNewFile()`、`delete()`、`renameTo()`...

    Java读写文本文件的示例代码

    总结一下,Java中的文本文件操作主要包括使用`BufferedReader`读取文件,使用`PrintWriter`或`BufferedWriter`写入文件,以及使用`File`类的`delete()`方法删除文件。这些基本操作构成了Java文件I/O的基础,是每个...

    java文件下载

    可以使用`java.io`包中的`FileInputStream`或`BufferedInputStream`来读取文件,并将其转换成字节数组或流。 3. **设置响应体**:通过`ServletResponse`对象的`getOutputStream()`方法获取输出流,然后将读取到的...

    java操作fastdfs来上传文件的代码

    在IT行业中,FastDFS是一个轻...这个过程涉及到网络通信、文件读取、配置管理等多个方面,是Java开发者必备的技能之一。在实际开发中,结合具体业务需求,你还可以扩展这个工具类,实现文件的下载、删除、更新等操作。

    通讯录文件管理 java

    在Java中,可以使用`java.io`包中的类来处理文件操作,如`File`类用于表示文件或目录,`FileReader`和`FileWriter`用于读写文件,`BufferedReader`和`BufferedWriter`则提供缓冲功能以提高读写效率。如果数据量较大...

    java 网盘_文件上传下载 struts2

    在Struts2中,可以创建一个Action来处理下载请求,读取文件内容并写入到响应流中。这样浏览器就会触发文件下载对话框,让用户选择保存位置。 4. **权限管理** 权限管理是任何涉及到用户交互系统的必备功能。在...

    学习读写CSV文件 学习读写CSV文件

    在编程中,掌握如何读取和写入CSV文件是一项基础且重要的技能。下面将详细讲解CSV文件的读写操作以及相关的编程实践。 首先,我们来了解读取CSV文件的基本步骤。在Java中,我们可以使用内置的`BufferedReader`或者...

    数据库备份文件读取小程序

    本项目名为"数据库备份文件读取小程序",其主要功能是读取和处理这些备份文件,无论是单一文件还是整个文件夹。这个小程序设计的目标是为了方便用户对数据库备份进行管理和分析,确保数据的安全性和可用性。 在...

    Java学习记录.rar

    Java.io和java.nio包提供了处理输入输出的能力,无论是读写文件还是进行网络通信。Socket编程允许我们构建客户端-服务器应用,实现数据交换。 最后,Java标准库(JDK)包含大量实用类和API,例如日期时间API、正则...

    java 实用jar包 集合

    - poi.jar:Apache POI,用于读写Microsoft Office格式的文件,如Excel,方便数据导入导出。 - json-lib.jar:JSON库,处理JSON格式的数据,常用于前后端数据交换。 这些jar包集合为Java开发者提供了便利,减少了...

    读取CSV文件

    Java本身并不直接支持CSV文件的读写,但可以通过第三方库来实现。描述中提到的“javacsv2.1”是老版本的开源Java CSV处理库,它提供了方便的API来帮助开发者处理CSV文件。在使用这个库之前,你需要先将其下载并导入...

    java编写的数据库导入和导出工具

    - **CSV处理**:使用Java的BufferedReader和PrintWriter,或者Apache Commons CSV库,读写CSV文件。 - **Excel处理**:项目中提到的"ImportAndExportExcelApp"可能使用了Apache POI库,它可以解析和创建Microsoft ...

    java程序阅读bibabo

    IO流用于读写文件和数据传输,集合框架如ArrayList、LinkedList、HashMap等提供了数据存储和操作的便捷方式。多线程编程使得程序能够同时执行多个任务,而网络编程则涉及Socket通信,使Java程序可以与其他设备或服务...

    java下载器源代码

    Java下载器源代码是一个基于Java编程语言开发的实用工具,用于从互联网上获取并保存文件。这个简单的下载器展示了如何利用Java实现网络I/O操作,处理文件下载,并且可能包括错误处理和进度显示功能。下面将详细介绍...

    学习Java基础知识 记录笔记练习代码 Java学习资料

    5. **输入输出流**:Java I/O流用于读写文件和网络通信,分为字节流和字符流,理解流的概念和双向流、过滤流的使用是必备技能。 6. **多线程**:Java提供了内置的多线程支持,理解线程的概念、创建和管理线程,以及...

    java-gif图像与图形处理java-gif图像与图形处理

    接下来,关于文件管理和档案管理的部分,这通常涉及到文件的读写、目录操作以及数据库交互。在Java中,可以使用`java.io`包中的类来处理文件,如`File`、`FileInputStream`和`FileOutputStream`。同时,如果涉及到...

    java实现的数据采集系统.zip

    Java的`File`类和`InputStream/OutputStream`接口可以处理文件读写。 8. **异步I/O(NIO)**:对于大流量的数据采集,传统的同步I/O可能效率低下。Java NIO(New I/O)提供了一种非阻塞的I/O模型,提高了处理效率。...

    java-filesync:将文件同步到备份位置

    在Java中,我们可以使用`java.io`和`java.nio`包中的类来处理文件操作,如创建、读取、写入和删除文件。 1. **基本文件操作**:`java.io.File`类是文件和目录操作的基础,可以用来检查文件是否存在、获取文件大小、...

    JAVA全套API手册整理.zip

    2. **输入/输出(I/O)**:Java.io包提供了对文件、流、字符集、缓冲区等进行读写操作的类和接口,如File、InputStream、OutputStream、Reader、Writer等。 3. **网络编程**:Java.net包包含用于网络通信的类,如...

Global site tag (gtag.js) - Google Analytics