Java字节流文件复制】的更多相关文章

1.字节流 在 Java 中,文件的复制使用字节输入流和字节输出流实现,java.io 包有 InputStream 和 OutputStream 这两个顶层抽象类规范了读写文件所需的核心 API. 我们可以使用它们的子类 FileInputStream 和 FileOutputStream 来编写程序复制文件. 第一种方式: 使用 read() 和 write() 方法配合循环操作单字节的读取.写入 InputStream 的 read() 会尝试从文件读取一个字节,如果到了文件结尾则会返回-…
背景:有很多的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…
用不同的方法实现文件的复制 1. 通道 Channel,它是一个对象,可以通过它读取和写入数据.拿NIO与原来的I/O比较,通道就像是流.是对接操作系统底层和缓冲区的桥梁. 2. 性能比较 内存映射最快,其次是NIO读写文件,再其次是加了缓冲的IO流,最后是无缓冲的IO流 代码示例 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; impor…
 /**  * 字节流封装方法  */ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class FileUtilStream { //<!--------…
java编程思想中讲到了IO流的思想,以前对于java基础总是不够深入,浅尝辄止,如今碰到语句插桩的时候就感到书到用时方恨少啊! 文件的复制涉及到源文件和新文件(无需手动创建),给出源文件的路径和文件名,然后给出新文件放置的位置,并新任命一个名字.(java文件尽量目录不要放一块,以保证名字的相同,因为类名和java文件名要保持一样). 方法一:(需要导入IO包) 在主方法写入: File oldf=new File("F:\\muce2\\Triangle\\src\\Triangle.jav…
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 Zy; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Zy { //1.用字节流完成eclipse.zip的复制 public static void main(String[] args) throws IOException { long…
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…
1.使用字节流每次读写单个字节 public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("C:\\CloudMusic\\1.mp3"); FileOutputStream fos = new FileOutputStream("e:\\1.mp3"); int len = 0; while ((len = fis.re…
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;…
java io流(字节流) 复制文件 //复制文件 //使用字节流 //复制文本文件用字符流,复制其它格式文件用字节流 import java.io.*; public class Index{ public static void main(String[] args) throws Exception{ //字符流方式 //FileReader fz = new FileReader("E:/1.txt"); //FileWriter zt = new FileWriter(&qu…
接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个char和一汉字一样都占两个字节).一般用字节流假设定义为奇数个长度是,那么存储汉字时会有乱码问题,Java提供了Reader和Writer两个专门操作字符流的类. 1 Writer 字符输出流 此类是抽象类.需用其子类实现.实现了Closeable,Flushable, Appendable三个接口…
大家在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…
O(∩_∩)O哈哈~ 1.综述 一门成熟的语言肯定具备的几个模块:IO,通信,线程,UI...... Java作为一门成熟的程序语言,其IO流是比较复杂的.上个图大家感受下: 简单分析一下,IO分为两种流:字符流和字节流.字符流的父类Reader(读取到内存)和Writer(从内存输出),字节流的父类InputStream(读取到内存)和OutputStream(从内存输出),然后为了方便各种操作,比如为了文件操作,派生了文件流:为了对象操作,派生了对象流:等等.当初我也是傻傻分不清到底是Inp…
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 * 目…
1:递归(理解) (1)方法定义中调用方法本身的现象. (2)递归注意事项: A:要有出口,否则就是死递归. B:次数不能太多,否则内存溢出. 特殊事项:构造方法不能递归定义. 例子:cn.itcast.demo package cn.itcast; /* * 递归算法: * 自己调用自己. * 方法内定义:调用到什么程度,就不调用自己了.即递归出口. */ public class Demo { public static void main(String[] args) { method(5…
文件夹的复制用到了俩个流:缓冲流和文件字节流 缓冲流用来加快写入和读取速度. 在这里我简述一下复制文件夹的过程,当然复制文件夹都可以,复制文件更是不在话下 1.首先要明确俩点.要复制的文件夹的位置(源文件目录),还有一个就是你需 要复制到哪的文件夹位置(目的文件目录). 2.就是判断目标文件是否文在,要是没有那就创建. 3.第三个就是获取传进来的源文件目录,遍历他. 4.然后就是分为俩步去复制,第一步就是判断是不是文件,是文件就直接复制,第二步,如果不是文件那就是目录,目录我们可以用递归的算法去…
/** * File类:文件的创建.删除.重命名.得到路径.创建时间等,是唯一与文件本身有关的操作类 */ public class Main { public static void main(String[] args) { //File.separator 表示分隔符 File f1 = new File("c:" + File.separator + "fuck" + File.separator + "javaTest1.txt");…
A.首先说字节流:1.字节流在操作的时候不会用到缓冲区(也就是内存)2.字节流可用于任何类型的对象,包括二进制对象3.字节流处理单元为1个字节,操作字节和字节数组.InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先.B.再说字符流:1.而字符流在操作的时候会用到缓冲区2.而字符流只能处理字符或者字符串3.字符流处理的单元为2个字节的Unicode字符,操作字符.字符数组或字符串,Reader是所有读取字符串输入流的祖先,而writer是所有输出字符串的…
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…
本文给出使用Java字节流实现文件拷贝的例子 package LearnJava; import java.io.*; public class FileTest { public static void main(String args[]) throws Exception{ if(args.length != 2) { System.exit(1); //如果参数个数不够,退出程序 } File infile = new File(args[0]); File outfile = new…
Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/blog/1092354 package com.frank.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /*…
今天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…
函数介绍 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…
JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇幅讲 一.文本复制 读写都说了,我们来看下其他的操作,我们首先来看复制 复制原理:其实就是将C盘下的文件数据存储到D盘的一个文件中 实现的步骤: 1.在D盘创建一个文件,用于存储文件中的数据 2.定义读取流和文件关联 3.通过不断的读写完成数据的存储 关闭资源 package com.lgl.hel…