两种方式:
read() write() 读一个,写一个
read(byte[] buf) write(byte[] buf,0 , len) 读一组,写一组
读一个写一个:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyTextDemo {
public static void main(String args[]) throws IOException{
/*
* 复制一个文本文件
* 思路:
* 读取源数据,将数据写到目的中。
* 用到了流,操作设备上的数据。
* 读用到了输入流,写用到了输出流
* 而且操作的还是文件,需要用到字节流中操作文件的对象
*/
coppyText1();
}
public static void coppyText1() throws IOException {
//1.创建一个输入流和数据相关联
FileInputStream fis = new FileInputStream("");
//2.创建一个输出流,并通过输出流创建一个目的地
FileOutputStream fos = new FileOutputStream("tempfile\\fos.txt");
//3.读一个写一个
int by=0;
while((by=fis.read())!=-1){
fos.write(by);
}
fis.close();
fos.close();
}
}
读一组写一组
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyTextDemo2 {
public static void main(String[] args) {
copyTextByBuf();
}
public static void copyTextByBuf() {
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis = new FileInputStream("D:\\传智播客毕向东java\\毕向东Java教程源码\\day01\\Demo.java");
fos = new FileOutputStream("tempfile\\fios.txt");
//创建缓冲区
byte[] buf = new byte[1024];
//定义记录长度的变量
int len = 0;
//循环读写
while((len=fis.read(buf))!=-1){
fos.write(buf,0,len);
}
}catch(IOException e){
//异常日志
}finally{
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
//异常日志
}
}if(fis!=null){
try {
fis.close();
} catch (IOException e) {
//异常日志
}
}
}
}
}
关注我的微信公众号(曲健磊的个人随笔),观看更多精彩内容: