今天继续学习了文件的简单操作,而今天得内容主要集中在I/O流的操作。
1.java.io.FileInputStream
它是从文件系统中的某个文件中获得输入字节,从而对这些数据进行操作的类。类本身只是简单地重写那些将所有请求传递给所包含输入流的InputStream的所有方法。
2.java.io.FileOutputStream
文件输出流是用于将数据写入File或FileDescriptor的输出流,而且某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。
3.IO流的简单应用:文件复制器
1复制文件的类
2用于检测的类
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);
}
本文详细介绍了Java中文件的I/O流操作,包括 FileInputStream 和 FileOutputStream 的使用,并通过一个简单的文件复制器类展示了如何复制文件。重点强调了复制文件的方法实现,包括检查文件路径的有效性以及实际的文件读取和写入过程。
1029

被折叠的 条评论
为什么被折叠?



