专业的JAVA编程教程与资源

网站首页 > java教程 正文

JAVA文件读写之二:任意文件的复制

temp10 2024-11-16 00:37:42 java教程 11 ℃ 0 评论

上期我们讲了JAVA文本文件的读写,主要运用FileWriter和FileReader这两个类,

但这两个类主要针对文本文件的按字符方式进行读和写。如果要复制任意类型的文件,仅用这两个类操作可能要出问题。那么怎样才能针对任意类型的文件进行无损读与写呢?答案是用按字节方式进行读与写,也就是运用FileInputStream和FileOutputStream两个类。

JAVA文件读写之二:任意文件的复制

要复制一个文件其实非常容易,也就是从一个文件读出,然后写入另一个文件中,直到读完第一个文件为止,文件读完的标志是读出的内容为-1。

//对任意文件进行复制
public class BinCopy {
	public static void main(String[] args) {
		String fName1 = "d:/003.jpg";
		String fName2 = "d:/0031.jpg";
		BinCopy b = new BinCopy();
		if(b.myCopy(fName1, fName2))
			System.out.println("复制成功");
		else
			System.out.println("复制失败");
	}
	// 复制函数
	boolean myCopy(String fName1, String fName2) {
		int x;
		try {
			FileInputStream fis = new FileInputStream(fName1);
			FileOutputStream fos = new FileOutputStream(fName2);
			while ((x = fis.read()) != -1)
				fos.write(x);
			fos.close();
			fis.close();
		} catch (Exception e) {
			return false; // 表示复制失败
		}
		return true; // 表示复制成功
	}
}

如果要将一个文件添加到另一个文件的尾部,则只要在FileOutputStream()构造方法中加入True参数即可,即

FileOutputStream fos = new FileOutputStream(fName2, True);

当然要将两个文件合并,只是针对文本文件才有意义!

若想了解更多的文件操作方法,请关注下期。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表