1.实现输出读取文件内容的示列(不推荐使用低效):
@Test public void testStream(){ InputStream fis=null; //声明输入流对象 OutputStream fos=null; //声明输出流对象 try { fis=new FileInputStream("d:\\ff_copy.txt"); fos=new FileOutputStream("d:\\ff_copy1.txt"); long num=0; //读取字节计数 int bt=0; //每次读入字节内容 //当读入文件末尾时,读入数据的值为-1,每次读入一个字节,存放变量bt中,直到读完整个文件 while((bt=fis.read())!=-1){ //以字母的形式逐个输出文件的每个字节 System.out.println((char) bt); fos.write(bt); //将字节写入输出流中,实现copy功能 num++; } System.out.println("读取的字节数为"+num+"\n 文件复制成功"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { fis.close(); fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2.使用缓冲流来实现(一般):
/* * 字节流测试:copy文件 */ @Test public void tsetBufferStream() { InputStream fis=null; OutputStream fos=null; try { fis=new BufferedInputStream(new FileInputStream("d:\\ff_copy.txt")); fos=new BufferedOutputStream(new FileOutputStream("d:\\ff_copy2.txt")); byte[] bur=new byte[2048]; int i; while((i=fis.read())!=-1){ fos.write(bur,0,i); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ try { fis.close(); fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
3.使用同道的方式:高效(推荐使用这种方式)
@Test public void testFileChanne(){ FileInputStream fi = null; FileOutputStream fo = null; FileChannel in = null; FileChannel out = null; try { fi = new FileInputStream("d:\\ff_copy.txt"); fo = new FileOutputStream("d:\\ff_copy3.txt"); in = fi.getChannel();//得到对应的文件通道 out = fo.getChannel();//得到对应的文件通道 in.transferTo(0, in.size(), out);//连接两个通道,并且从in通道读取,然后写入out通道 } catch (IOException e) { e.printStackTrace(); } finally { try { fi.close(); in.close(); fo.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
### Java复制文件的四种方式详解 #### 概述 在Java开发过程中,文件操作是一项基本且重要的任务。其中,文件复制是经常需要用到的功能之一。尽管Java标准库并未直接提供一个简单的方法来复制文件,但开发者可以...
里面包含了高效处理文件流的一个java文件,工作时总会用到 个人原创 请使用者标明作者信息 谢谢 oneRose 奉献(下载后的朋友们给点意见 谢谢)
在Java编程中,复制文件的方法有很多,而且经常要用到。我以前一直是缓冲输入输出流来实现的(绝大多数人都是如此),近来在研究JDK文档时发现,用文件通道(FileChannel)来实现文件复制竟然比用老方法快了近三分之...
在Java编程语言中,文件复制是一项常见的任务,主要通过IO(Input/Output)流来实现。...在实际开发中,还可以考虑使用NIO(New IO)或Java 7引入的`Files.copy()` 方法,它们提供了更高效和简洁的文件操作方式。
本资源主要讲解了高效率文件复制的java实现方法,包含了两种不同的实现方式,分别使用java io流和FileChannel来实现文件复制操作。 知识点1:Java IO流文件复制 在第一个实现方法中,我们使用了Java IO流来实现...
综上所述,Java中的文件复制可以通过多种方式进行,Stream API提供了一种更现代、更高效的解决方案,特别是在Java 8及更高版本中。在实际编程中,开发者应根据项目需求和性能要求灵活选择合适的方法。
* 高效:Java 文件复制粘贴可以快速地复制大型文件,提高系统的效率。 * 可靠:Java 文件复制粘贴可以确保文件的完整性和一致性,减少文件损坏的风险。 * 灵活:Java 文件复制粘贴可以根据具体情况选择不同的文件...
在Java中,我们通常使用`java.nio`包下的`Files`和`Paths`类来处理文件的读写操作,因为它们提供了更高效和易用的API。`Files.copy()`方法可以用来复制文件,并且可以设置是否覆盖已存在的目标文件。 ```java for ...
在Java编程中,文件复制是一项基础且常见的任务,无论是在日常开发还是系统集成中都扮演...在实际应用中,可能还需要考虑错误处理、文件权限、网络文件复制等复杂情况,但这些基础操作为理解和处理这些问题提供了起点。
在Java编程语言中,文件复制是一项常见的操作,可以用于备份数据、迁移文件或者在程序中处理数据。IO(Input/Output)流是Java提供的一种处理输入输出数据的方式,包括读取和写入文件。本篇文章将详细介绍如何使用...
在Java编程中,文件操作是常见的任务之一,包括文件的复制和删除。在这个场景中,我们看到一个名为"OperateFile"的压缩包文件,它很可能包含了一个Java类或者一个项目,用于演示如何使用Java来执行这些操作。下面将...
例如,如果我们想在DOS界面下运行`copy`命令来复制文件,我们可以这样做: ```java String[] cmd = {"cmd.exe", "/c", "copy", "source.txt", "destination.txt"}; try { Process process = Runtime.getRuntime()....
综上所述,“Large-File-Processing-master_javanio_java大文件处理_”项目涵盖了Java NIO在大文件处理中的核心技术和最佳实践,是学习和研究Java高效处理大文件的宝贵资源。通过深入理解这些知识点,并结合项目中的...
它们提供了丰富的功能,帮助开发者安全、高效地完成文件上传操作,同时也大大减少了处理文件上传时可能出现的问题。在实际项目中,务必合理利用这两个库,遵循最佳实践,确保上传过程的稳定性和安全性。
Java 文件批量处理程序是一款基于 Java 平台的文件批量处理工具,旨在提供一个高效、便捷、可靠的文件批量处理解决方案。该程序主要实现了新建文件、复制、移动、删除、解压缩及分割/合并文件等功能,满足了用户对...
FileOperate 是一个文件操作工具类,提供了多种文件操作方法,包括新建目录、新建文件、复制文件、剪切文件等。 `public class FileOperate {` `public static void main(String args[]){` `newFolder("D:/100");` ...
Java的NIO(非阻塞I/O)提供了一种更高效的方式来处理文件操作,特别是当处理大量文件或大文件时。`java.nio`包提供了一组新的类,如`FileChannel`,`ByteBuffer`等,它们可以在不阻塞主线程的情况下进行I/O操作。 ...
在本例中,我们使用文件流的方式来复制文件。 三、使用文件流复制文件的步骤 1. 创建文件输入流对象,用于读取源文件的内容。 2. 创建文件输出流对象,用于写入目标文件的内容。 3. 使用read()方法读取源文件的...
在处理文件上传时,可能需要使用这个库来读取、写入、复制、删除文件,或者进行其他I/O操作。 4. **多部分请求(Multipart Request)**: 文件上传通常涉及HTTP协议中的多部分请求。这种请求允许在一个请求中发送...
`FileUtils`类中的`copyFile()`方法是其核心功能之一,它提供了从一个位置复制文件到另一个位置的便捷方式。这个方法有多个重载版本,可以根据实际需求选择合适的方法。例如,`copyFile(File sourceFile, File ...