Java:文件的简单操作。

1.Wheel功能。

这个是java中的一个类,作用就是能够通过创建该类的对象,直接输入文件的名字,可以对其读取、写入、拷贝、添加的功能(目前如此,以后会添加功能)。

read(String fileName):需要一个文件的名字作为参数,文件名必须包含其详细路径,将读取该文件中的内容然后以String的形式返回。

write(String fileName,String text):需要一个文件的名字作为参数,文件名必须包含其详细路径,还需要一个写入文件中的String内容。调用该方法后,会在fileName的文件中写入text内容,文件不存在将会创建文件,文件存在将会覆盖里面的内容。

append(String fileName,String text):需要一个文件的名字作为参数,文件名必须包含其详细路径,还需要一个String类型的内容用来添加到文件的末尾(会在原有的基础上进行换行操作,然后添加新的内容)。

copy(String fileName1,String fileName2):需要两个文件的名字作为参数,文件名必须包含其详细路径,会将fileName1中的内容拷贝到fileName2中,fileName2不存在则创建新文件,fileName2存在则覆盖里面的内容。

2.Wheel来源。

这个是在看《Java编程思想》的时候,讲解I/O系统的时候书上给出的一个工具,然后得到的启发写的这个东西。

3.Wheel源码。

import java.io.*;

public class TextFile {

	public String read(String fileName) {
		StringBuilder stringBuilder = new StringBuilder();
		try {
			BufferedReader in = new BufferedReader(new FileReader(
					new File(fileName).getAbsoluteFile()));
			try {
				String string;
				while((string = in.readLine()) != null) {
					stringBuilder.append(string);
					stringBuilder.append("\n");
				} 
			} finally {
				in.close();
			}
		} catch (IOException e) {
			throw new RuntimeException();
		}
		return stringBuilder.toString();
	}
	
	public void write(String fileName,String text) {
		try {
			PrintWriter	out = new PrintWriter(
						new File(fileName).getAbsoluteFile());
			try {
				out.print(text);
			} finally {
				out.close();
			}
		} catch (IOException e) {
			throw new RuntimeException();
		}
	}
	
	public void append(String fileName,String text) {
		try {
			PrintWriter out = new PrintWriter(
					new FileWriter(fileName,true));
			try {
				out.println("\n" + text);
			} finally {
				out.close(); 
			}
		} catch (IOException e) {
			throw new RuntimeException();
		}
	}
	
	public void copy(String fileName1,String fileName2) {
		String text = this.read(fileName1);
		this.write(fileName2, text);
	}
	
}


4.wheel演示。

使用的时候通过:import  这个类导入进去然后创建一个该类的对象即可。

测试代码:
import test.TextFile;

public class testTextFile {

	public static void main(String[] args) {
		
		//测试读取-----------------------------
		TextFile textFile = new TextFile();
		String fileName = "F:\\file\\测试文件.txt";
		String string = textFile.read(fileName);
		System.out.print(string);
		
		//测试添加-------------------------
		textFile.append(fileName, "添加的内容");
		String string2 = textFile.read(fileName);
		System.out.print(string2);
		
		//测试复制---------------------------
		textFile.copy(fileName, "F:\\file\\复制的文件.txt");
		
		//测试写入---------------------------
		textFile.write("F:\\file\\测试写入.txt", "新写入的内容(文件不存在)");//文件不存在
		textFile.write(fileName, "新写入的内容(文件存在)");
	}

}



文件名:测试文件.txt。   路径:F:\file\测试文件.txt        文件内容:测试TextFile。



运行代码之后,控制台输出内容:



这里是两次读取的内容。

然后在目录中,新出现了两个文件,此时三个文件的内容分别如下:

使用write时,创建的  测试写入.txt。



使用copy时,复制过来的  复制的文件.txt


使用write时,将原来内容覆盖掉后新的 测试文件.txt



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值