java 使用Reader和Writer对文件内容的拷贝

package com.hc.fileio;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.Reader;

import java.io.Writer;

/**对文件内容的拷贝

* @author MaskedMen

*Reader和Writer只能读写字符流

*/

public class ReaderWriter {

public static void main(String[] args) {

ReaderWriter readerWriter = new ReaderWriter();

try {

//fileOutputStream.fileCopy("D:\\hh1.txt", "D:\\hh2.txt", 1024,false);

readerWriter.fileCopy("D:\\hh1.txt", "D:\\hh2.txt", 1024,true);

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* @param orgFile  源文件路径

* @param desFile 目标文件路径

* @param buffLength 缓存区大小

* @param isApend 表示是否将拷贝的内容追加在目标文件的内容的后面

* @throws IOException

*/

public  void fileCopy(String orgFile,String desFile,int buffLength,boolean isApend) throws IOException{

File orgfile = new File(orgFile);

File desfile = new File(desFile);

if(!orgfile.exists()){//若源文件不存在,则返回

return;

}

if(desfile.exists()&&!isApend){//若不追加则将目标文件删除

desfile.delete();

}

desfile.createNewFile();//创建目标文件

Reader reader = new FileReader(orgfile);

Writer writer = new FileWriter(desfile,isApend);//isApend为true时 内容追加在目标文件的内容的后面

char[] buffer = new char[buffLength];

int length=-1;

while((length=reader.read(buffer))!=-1){ //不返回-1则说明有内容,则继续向下读

String strBuffer = new String(buffer,0,length);

writer.write(strBuffer);

}

writer.flush();//关闭之前,必须冲刷,不然无法写入

writer.close();

reader.close();

}

}

时间: 2024-07-29 00:06:56

java 使用Reader和Writer对文件内容的拷贝的相关文章

Java IO: Reader和Writer

作者: Jakob Jenkov 译者: 李璟([email protected]) Reader 原文链接 Reader是Java IO中所有Reader的基类.Reader与InputStream类似,不同点在于,Reader基于字符而非基于字节.换句话说,Reader用于读取文本,而InputStream用于读取原始字节. 请记住,Java内部使用UTF8编码表示字符串.输入流中一个字节可能并不等同于一个UTF8字符.如果你从输入流中以字节为单位读取UTF8编码的文本,并且尝试将读取到的字

Java IO: Reader And Writer

原文链接 作者: Jakob Jenkov  译者: 李璟([email protected]) Java IO的Reader和Writer除了基于字符之外,其他方面都与InputStream和OutputStream非常类似.他们被用于读写文本.InputStream和OutputStream是基于字节的,还记得吗? Reader Reader类是Java IO中所有Reader的基类.子类包括BufferedReader,PushbackReader,InputStreamReader,St

Java之扫描目录,修改文件内容

扫描目录下文件,修改文件中指定内容 1 package org.utils.tools.fileoper; 2 3 import java.io.*; 4 import java.util.ArrayList; 5 import java.util.List; 6 7 /* 8 * 修改文件中的内容 9 * 替换properties文件中的ip 10 * */ 11 public class EditFile { 12 public static void main(String args[])

实现文件内容的拷贝

import os"""需求:实现文件内容拷贝思路:源文件:读出来目标文件:写入到"""def fileCopy(srcPath,desPath): if not os.path.exists(srcPath): #判断是否存在 print("哥们,{}文件不存在,别拷贝了".format(srcPath)) return if not os.path.isfile(srcPath): #是否为文件夹 print("

Reader字符流读取文件内容---实例

import java.io.*; public class File4{ public static void main(String[] args)throws Exception{ //抛出异常,不处理 File f=new File("e:"+File.separator+"test.txt"); //选择e:test.txt的文件创建对象 Reader input=new FileReader(f); char b[]=new char[(int)f.le

Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响

jxl的maven坐标: <!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl --> <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </de

Java:获取文件内容

文章来源:https://www.cnblogs.com/hello-tl/p/9139353.html import java.io.*; public class FileBasicOperation { /** * 获取文件内容 * @param filePath * @return */ @SuppressWarnings("resource") public String getFileContent(String filePath){ try { File file = n

(转)Java按指定行数读取文件

package test import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.LineNumberReader; public class ReadSelectedLine{ // 读取文件指定行. static void readAppointedLineNumber(File sourceFile, int lineNumber) throws IOExcepti

(IO流)java中多种方式读文件,追加文件内容,对文件的各种操作

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.io.R