文件各种流和复制
1.字节流
通过读取字节的方式进行文件的输入和输出,用到的类为InputStream和OutputStream,
相应的操作就是调用相应的方法,下面为示例代码,都比较简单
1)输入流应用代码
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class InputDemo {
/**
* 主函数
* @throws IOException
*/
public static void main(String[] args) throws IOException {
InputDemo ipd=new InputDemo();
//此路径为相对路径
String path="src/文件输入/InputDemo.java";
ipd.readFile(path);
}
private void readFile(String path) throws IOException {
//创建输入流对象
InputStream ins=new FileInputStream(path);
//根据输入流创建缓冲流
BufferedInputStream bis=new BufferedInputStream(ins);
//根据流中的字节长度创建一个byte数组
byte array[]=new byte[ins.available()];
//将流中的数据读到数组中(不用缓冲)
ins.read(array);
//运用缓冲流输入
//bis.read(array);
ins.close();
bis.close();
//将数组转换成String类型并输出
System.out.println(new String(array));
}
}
2)输出流应用代码
输出流的代码是关于文件复制的应用
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class OutputDemo {
/**
* 主函数
* @throws IOException
*/
public static void main(String[] args) throws IOException {
OutputDemo opd=new OutputDemo();
String path1="C:/Users/Deller/Desktop/人月神话.txt";
String path2="src/文件输出/OutputDemo.java.txt";
opd.copyFile(path1,path2);
}
/**
* 复制文件方法
* @param path1 要复制的文件的路径
* @param path2 文件副本的路径
* @throws IOException文件异常
*/
public void copyFile(String path1,String path2) throws IOException{
InputStream ins=new FileInputStream(path1);
FileOutputStream ops=new FileOutputStream(path2);
//创建缓冲流
BufferedInputStream bis=new BufferedInputStream(ins);
BufferedOutputStream bos=new BufferedOutputStream(ops);
int i=0;
//不运用缓冲读取文件并输出(会很慢的),不信你可以找一个较大的文件
试试
//当ins.read()=-1时,说明文件读取完毕
//while((i=ins.read())!=-1){
// ops.write(i);
//}
//运用缓冲读取文件并输出
while((i=bis.read())!=-1){
bos.write(i);
}
System.out.println("文件复制完成!!!");
bos.flush();
ins.close();
ops.close();
bis.close();
bos.close();
}
}
2.缓冲流
其实上面代码已经运用到了缓冲流,它的创建要根据输出和输入流进行创建。
还没写完。。。。
分享到:
相关推荐
文件流复制文件相关知识点 一、文件流的概念 文件流是指在计算机中对文件进行读取、写入、复制等操作的过程。...本文通过使用文件流复制文件的示例,展示了文件流的使用方法和优点,并讨论了文件流的应用场景。
在复制文本文件时,可以根据实际需求选择合适的流类型,如简单文本处理可选用FileReader和FileWriter,追求效率时可采用BufferedReader和BufferedWriter。理解并熟练运用这些流,对于进行高效的文件操作至关重要。
Visual C++源代码 55 如何使用缓冲流复制文件Visual C++源代码 55 如何使用缓冲流复制文件Visual C++源代码 55 如何使用缓冲流复制文件Visual C++源代码 55 如何使用缓冲流复制文件Visual C++源代码 55 如何使用缓冲...
以下是使用缓冲流复制文件的基本步骤: 1. **打开源文件**:使用`FileInputStream`创建一个输入流,指向要复制的源文件。 2. **创建缓冲输入流**:将`FileInputStream`包装到`BufferedInputStream`中,以实现高效的...
在这个主题中,我们将深入探讨如何使用Java的IO流进行文件复制,重点讨论四个关键函数:`Reader`, `Writer`, `InputStream`, 和 `OutputStream`。 1. **Reader与Writer**: - **Reader** 是字符输入流的抽象类,...
IO(Input/Output)流是Java提供的一种处理输入输出数据的方式,包括读取和写入文件。本篇文章将详细介绍如何使用Java的IO流来实现文件的复制。 首先,我们需要了解Java中的IO流体系。Java的IO库基于流的概念,流...
1.编写应用程序,使用文件输入输出流实现文件的复制,被拷贝的源文件和复制的目标文件由命令行参数给出。 2.编写应用程序,创建一个文件输出流,向文件中分别写入以下类型数据:int、double和字符串,然后创建一个...
Java的IO流是Java平台中处理输入/输出操作的核心组件,它允许程序与各种数据源(如文件、网络连接、内存缓冲区等)进行交互。在这个案例中,我们讨论的主题是如何利用Java的IO流实现文件复制,特别是使用字节流进行...
在Android开发中,文件复制和进度条的显示是常见的需求,尤其在移动应用中,用户可能需要将数据从一个位置移动到另一个位置,或者在后台下载文件时展示进度。`ProgressDialog`是Android SDK提供的一种对话框组件,...
总结,Java的IO流提供了强大而灵活的文件操作功能,通过`FileInputStream`和`FileOutputStream`可以实现文件的复制,而通过递归调用可以实现整个文件夹的复制。在实际开发中,我们需要根据具体需求进行相应的异常...
总结起来,这个 Java 文件复制器展示了如何使用核心 I/O 流进行文件复制,同时提供了异常处理和命令行参数的支持,使得程序具有一定的健壮性和实用性。通过理解和学习这段代码,开发者可以更好地理解 Java 中的文件...
如果源是一个文件,就使用输入输出流复制文件内容;如果是一个文件夹,就递归处理其子项。在实际应用中,你可能还需要添加错误处理和优化逻辑,比如检查是否可以覆盖目标文件,或者跟踪复制进度等。 以上就是关于...
标准io流复制文件
本主题将深入探讨如何使用Java实现文件复制、File类的文件读取和写入,以及I/O流的读取与写入。下面将详细阐述这些知识点。 1. **Java文件复制** 文件复制通常涉及读取源文件内容并将其写入目标文件。在Java中,...
在深入探讨“io流复制文本文件图解”的知识点前,我们先来理解一下IO流的基本概念。IO(Input/Output)流是Java编程语言中处理输入输出操作的基础框架,广泛应用于文件读写、网络通信等场景。Java中的IO流分为字节流...
4. 开始复制:调用“复制文件”或“创建文件流+读写文件流”系列命令,将源文件的内容复制到目标目录。这里需要注意的是,易语言中的文件操作是按字节进行的,所以需要循环读取源文件,然后写入目标文件。 5. 关闭...
1. **异常处理**:在复制过程中可能会遇到各种异常,例如文件不存在、权限问题等,因此必须做好异常捕获和处理。 2. **性能优化**:使用较大的缓冲区可以显著提高复制速度。 3. **路径处理**:在处理路径时要注意...
1. 文件流:在Java等编程语言中,文件复制通常涉及文件输入流(FileInputStream)和文件输出流(FileOutputStream)。这两个类分别用于读取和写入文件。通过创建输入流对象读取源文件,然后创建输出流对象写入目标...
在IT行业中,大文件和多文件的高效复制是一项常见的任务,尤其在系统迁移、数据备份或者软件部署等场景中。本项目"多文件大文件复制源码"提供了一个使用C#编程语言实现的解决方案,专注于处理大文件以及多个文件的...
本文将深入解析如何使用文件流(FileStream)来实现文件的拷贝功能,尤其关注如何指定每次拷贝的数据量,这在处理大文件时能够提供更好的性能控制和资源管理。 ### 使用FileStream进行文件拷贝 #### 文件流...