Java 实现文件复制的不同方法】的更多相关文章

用不同的方法实现文件的复制 1. 通道 Channel,它是一个对象,可以通过它读取和写入数据.拿NIO与原来的I/O比较,通道就像是流.是对接操作系统底层和缓冲区的桥梁. 2. 性能比较 内存映射最快,其次是NIO读写文件,再其次是加了缓冲的IO流,最后是无缓冲的IO流 代码示例 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; impor…
背景:有很多的Java初学者对于文件复制的操作总是搞不懂,下面我将用4中方式实现指定文件的复制. 实现方式一:使用FileInputStream/FileOutputStream字节流进行文件的复制操作 private static void streamCopyFile(File srcFile, File desFile) throws IOException { // 使用字节流进行文件复制 FileInputStream fi = new FileInputStream(srcFile)…
今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数组很大,导致复制后目标文件非常大,其实就是空行等一些无效空间.我也是很少用这种方式拷贝问价,大多数用Apache提供的commons-io中的FileUtils,后来在网上查了下,发现还有其他的方式,效率更高,所以在此整理一下,也是自己的一个学习. 1. 使用FileStreams复制 比较经典的一个代码,使用FileInputStream读取文件…
1.背景 java复制文件的方式其实有很多种,可以分为 传统的字节流读写复制FileInputStream,FileOutputStream,BufferedInputStream,BufferedOutputStream 传统的字符流读写复制FileReader,FileWriter,BufferWriter,BufferedWriter,BufferedReader NIO系列的FileChannel FileChannel+缓冲 java.nio.Files.copy() 第三方包中的Fi…
java编程思想中讲到了IO流的思想,以前对于java基础总是不够深入,浅尝辄止,如今碰到语句插桩的时候就感到书到用时方恨少啊! 文件的复制涉及到源文件和新文件(无需手动创建),给出源文件的路径和文件名,然后给出新文件放置的位置,并新任命一个名字.(java文件尽量目录不要放一块,以保证名字的相同,因为类名和java文件名要保持一样). 方法一:(需要导入IO包) 在主方法写入: File oldf=new File("F:\\muce2\\Triangle\\src\\Triangle.jav…
1.字节流 在 Java 中,文件的复制使用字节输入流和字节输出流实现,java.io 包有 InputStream 和 OutputStream 这两个顶层抽象类规范了读写文件所需的核心 API. 我们可以使用它们的子类 FileInputStream 和 FileOutputStream 来编写程序复制文件. 第一种方式: 使用 read() 和 write() 方法配合循环操作单字节的读取.写入 InputStream 的 read() 会尝试从文件读取一个字节,如果到了文件结尾则会返回-…
package 文件操作; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class TestCopy { public static void main(String[] args) th…
package com.xjtu.demo; import java.io.*; public class FileCopy { public static void main(String[] args) throws Exception { long start = System.currentTimeMillis(); if (args.length != 2) { //参数不足 System.out.println("命令语法错误"); System.exit(1); } Fi…
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /** * <p>CopyFile.java</p> * <p>Created on Apr 17, 2009, 4:33:43 PM</p> * <p>Copyright (c) 2007-2009. CUCKOO Workgroup, USTC, P.R.Ch…
try { InputStream in = new FileInputStream(new File(oldPath)); OutputStream out = new FileOutputStream(new File(newPath )); byte[] be = new byte[100]; while (in.read(be) != -1) { out.write(be); } in.close(); out.flush(); out.close(); } catch (Excepti…
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流!---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>.<a href="http://www.itheima.com"target="blank">.Net培训&…
  java实现文件复制 CreateTime--2017年9月7日15:04:48 Author:Marydon 1.需求 根据原文件复制一份到指定位置 2.代码实现 需要导入: import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;…
package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class InputAndOutputFile{ //都是纯手打  如果复制显示不能复制 也懒得改  手敲 格式不好看见谅 public static void main(String…
O(∩_∩)O哈哈~ 1.综述 一门成熟的语言肯定具备的几个模块:IO,通信,线程,UI...... Java作为一门成熟的程序语言,其IO流是比较复杂的.上个图大家感受下: 简单分析一下,IO分为两种流:字符流和字节流.字符流的父类Reader(读取到内存)和Writer(从内存输出),字节流的父类InputStream(读取到内存)和OutputStream(从内存输出),然后为了方便各种操作,比如为了文件操作,派生了文件流:为了对象操作,派生了对象流:等等.当初我也是傻傻分不清到底是Inp…
接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个char和一汉字一样都占两个字节).一般用字节流假设定义为奇数个长度是,那么存储汉字时会有乱码问题,Java提供了Reader和Writer两个专门操作字符流的类. 1 Writer 字符输出流 此类是抽象类.需用其子类实现.实现了Closeable,Flushable, Appendable三个接口…
今天review代码也看到了"大神"用老方法来实现文件拷贝.今天归结一下使用Java语言怎样实现高速文件复制: 代码1--使用文件通道的方式: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.channels.FileChannel; public class Test { p…
大家在Java开发中都会遇到文件复制的文件,众所周知,需要通过文件输入输出流实现. 那究竟该怎么做那,话不多说,直接上代码: 一,使用字节流复制文件 public class FileByteCopy {public static void main(String[] args) { FileByteCopy f= new FileByteCopy(); try { f.copy("d:/File/1.txt","d:/CopyFile/1.txt"); } cat…
函数介绍 public String readLine():每次读取文件的一行,当文件读取完毕时,返回null     public int read(byte[] b):将文件内容读取到字节数组b     public int write(byte[] b, int off, int len):将字节数组中[off, off+len)位置的内容写入文件 文件复制 其实文件复制,在读取一个文件的同时,将读取到的内容写入另外一个文件中 代码实例 package cn.edu.pzhu; impor…
package cn.itcast_05; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * 需求:复制多极文件夹 * * 数据源:G:\Java\demos * 目…
JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇幅讲 一.文本复制 读写都说了,我们来看下其他的操作,我们首先来看复制 复制原理:其实就是将C盘下的文件数据存储到D盘的一个文件中 实现的步骤: 1.在D盘创建一个文件,用于存储文件中的数据 2.定义读取流和文件关联 3.通过不断的读写完成数据的存储 关闭资源 package com.lgl.hel…
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827481.html  用IO进行文件复制,实质就是用FileInputStream链接要复制的文件,按一定规模的字节数一段段地把文件复制读取出来,同时通过FileOutputStream把字节数组进行输出,直到待复制文件被“搬运”完毕. 画图理解: 代码实现: import java.io.*; import java.util.*; public class IOliu{ public static v…
package com.swift.jinjie; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.PrintStream; /*从键盘输入一个文件夹路径,利用打印流将该文件夹下的所有文件(包括子文件夹)复制到D盘下temp文件夹下.*/ public class PrintAllT…
File 递归删除文件夹中所有文件文件夹 package com.swift.kuozhan; import java.io.File; import java.util.Scanner; /*键盘录入一个文件夹路径,删除该路径下的所有文件文件夹,包括自己. 要求:文件夹中包含有子文件夹*/ public class TheLat { public static void main(String[] args) { File dir = inputDir(); delete(dir); } pr…
import java.io.*; public class AllFile { public static void main(String[] args) throws Exception {//若使用此方法复制文本等文件中文出现乱码,请使用上一篇文本的File方法指定编码格式为gbk可以解决. try { InputStream in = new FileInputStream("E:\\JavaLog/logs/1.jpg"); OutputStream out = new F…
有些开发的时候我们经常遇到这样一个问题,对大文件的处理.比如:日志文件.那么十几G的大文件.我们应该如何复制呢? 还有就是希望从本地和远程复制文件,文件都很大,10G级的如何办呢? 在这里我告诉你们,可以用java多线程实现复制. 原理:就是多线程把大文件分成小文件,实现快速复制. 下面直接看代码: package com.huojg.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInpu…
package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileOutputStream; public class IO_FileFilter { public static void main(String[] args) throws Exception{ /* * 编写一个程序,将e:\neck目录下的所有.java文…
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.In…
文件夹的复制用到了俩个流:缓冲流和文件字节流 缓冲流用来加快写入和读取速度. 在这里我简述一下复制文件夹的过程,当然复制文件夹都可以,复制文件更是不在话下 1.首先要明确俩点.要复制的文件夹的位置(源文件目录),还有一个就是你需 要复制到哪的文件夹位置(目的文件目录). 2.就是判断目标文件是否文在,要是没有那就创建. 3.第三个就是获取传进来的源文件目录,遍历他. 4.然后就是分为俩步去复制,第一步就是判断是不是文件,是文件就直接复制,第二步,如果不是文件那就是目录,目录我们可以用递归的算法去…
java最简单复制文件方法   把java2.txt内容复制到java.txt中 import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; File f=new File("c:/java2.txt")…
文件夹的拷贝*** public static void copyDir(String sourcePath, String newPath) { File start = new File(sourcePath); File end = new File(newPath); String[] filePath = start.list(); //获取该文件夹下的所有文件以及目录的名字 if(!end.exists()) { end.mkdir(); } for(String temp:file…