文件的简单操作(续):IO流的应用

本文详细介绍了Java中文件的I/O流操作,包括 FileInputStream 和 FileOutputStream 的使用,并通过一个简单的文件复制器类展示了如何复制文件。重点强调了复制文件的方法实现,包括检查文件路径的有效性以及实际的文件读取和写入过程。
今天继续学习了文件的简单操作,而今天得内容主要集中在I/O流的操作。
1.java.io.FileInputStream
它是从文件系统中的某个文件中获得输入字节,从而对这些数据进行操作的类。类本身只是简单地重写那些将所有请求传递给所包含输入流的InputStream的所有方法。
2.java.io.FileOutputStream
文件输出流是用于将数据写入File或FileDescriptor的输出流,而且某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。
3.IO流的简单应用:文件复制器
1复制文件的类
/**
* 复制文件的方法
* @param oPath 原始文件位置路径
* @param aPath 目标文件位置路径
* @return 返回0则表示给予的地址有问题,返回1则正常
*/
public int copy(String oPath,String aPath){

//判断给予的元素文件路径是否是文件夹,是否存在
java.io.File file = new java.io.File(oPath);
boolean b = file.isDirectory();
if(b){
System.out.println("错误!给予的路径为文件夹");
return 0;
}
Boolean b1 = file.exists();
if(b1){
System.out.println("错误!给予的路径不存在");
return 0;
}
try {
//根据原始文件路径创建文件输入流对象
java.io.FileInputStream fis = new java.io.FileInputStream(oPath);
//根据目标文件路径创建文件输出流对象
java.io.FileOutputStream fos = new java.io.FileOutputStream(aPath);

//从fis中读取一个字节
int data = fis.read();

//如果fis中还有数据,则反复读取并输入给fos
while(data!=-1){
fos.write(data);
data = fis.read();
}
System.out.println("能够复制,正在复制...");
//刷新此输出流并强制写出所有缓冲的输出字节
fos.flush();
//关闭输出与输入流
fis.close();
fos.close();

} catch (Exception e) {
e.printStackTrace();
}
return 1;
}

2用于检测的类
public static void main(String[] args) {

//创建复制文件类的对象
copyFile cf = new copyFile();
//原始文件与目标文件的路径
String oPath = "D:\\hw\\workspace.rar";
String aPath = "D:\\hw\\workspace1.rar";

//使用复制的方法
cf.copy(oPath, aPath);

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值