java 字节流文件复制方法总结

1、使用字节流每次读写单个字节

 1 public static void main(String[] args) throws IOException {
 2         FileInputStream fis = new FileInputStream("C:\\CloudMusic\\1.mp3");
 3         FileOutputStream fos = new FileOutputStream("e:\\1.mp3");
 4         int len = 0;
 5         while ((len = fis.read()) != -1) {
 6             fos.write(len);
 7         }
 8         if (fos != null) {
 9             fos.close();
10         }
11         if (fis != null) {
12             fis.close();
13         }
14     }

2、使用字节流每次读写多个字节

 1 public static void main(String[] args) throws IOException {
 2         FileInputStream fis = new FileInputStream("C:\\CloudMusic\\1.mp3");
 3         FileOutputStream fos = new FileOutputStream("e:\\1.mp3");
 4         byte[] b = new byte[1024];
 5         int len = 0;
 6         while ((len = fis.read(b)) != -1) {
 7             fos.write(b,0,len);
 8         }
 9         if (fos != null) {
10             fos.close();
11         }
12         if (fis != null) {
13             fis.close();
14         }
15     }

3、使用字节缓冲流每次读写单个字节

 1 public static void main(String[] args) throws IOException {
 2         BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\CloudMusic\\1.mp3"));
 3         BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("e:\\1.mp3"));
 4         int len = 0;
 5         while ((len = bis.read()) != -1) {
 6             bos.write(len);
 7         }
 8         if (bos != null) {
 9             bos.close();
10         }
11         if (bis != null) {
12             bis.close();
13         }
14     }

4、使用字节缓冲流每次读写多个字节

 1 public static void main(String[] args) throws IOException {
 2         BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\CloudMusic\\1.mp3"));
 3         BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("e:\\1.mp3"));
 4         byte[] b = new byte[1024];
 5         int len = 0;
 6         while ((len = bis.read(b)) != -1) {
 7             bos.write(b, 0, len);
 8         }
 9         if (bos != null) {
10             bos.close();
11         }
12         if (bis != null) {
13             bis.close();
14         }
15     }

原文地址:https://www.cnblogs.com/voidchar/p/10410278.html

时间: 2024-08-30 16:15:51

java 字节流文件复制方法总结的相关文章

Java字节流文件复制

1.字节流 在 Java 中,文件的复制使用字节输入流和字节输出流实现,java.io 包有 InputStream 和 OutputStream 这两个顶层抽象类规范了读写文件所需的核心 API. 我们可以使用它们的子类 FileInputStream 和 FileOutputStream 来编写程序复制文件. 第一种方式: 使用 read() 和 write() 方法配合循环操作单字节的读取.写入 InputStream 的 read() 会尝试从文件读取一个字节,如果到了文件结尾则会返回-

JAVA字节流(读写文件)

InputStream此抽象类是表示字节输入流的所有类的超类.需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法. int available()返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数.void close()关闭此输入流并释放与该流关联的所有系统资源.void mark(int readlimit)在此输入流中标记当前的位置.boolean markSupported()测试此输入流是否支持 mark 和 reset 方

Java字节流实现文件夹的拷贝

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; /** · java字节流实现文件夹的拷贝 · 拷贝文件夹,其中文件夹中又有多个文件 · 1.先遍历这个文件夹,判断是否是目录 · 2.创建文件夹 · 3.拷

java多种文件复制方式以及效率比较

1.背景 java复制文件的方式其实有很多种,可以分为 传统的字节流读写复制FileInputStream,FileOutputStream,BufferedInputStream,BufferedOutputStream 传统的字符流读写复制FileReader,FileWriter,BufferWriter,BufferedWriter,BufferedReader NIO系列的FileChannel FileChannel+缓冲 java.nio.Files.copy() 第三方包中的Fi

java多线程文件上传服务器

描述: (1)jdk自带线程池见 JDK自带线程池配置 (2)此上传文件服务器中上传文件的后缀名通过第一段缓冲字符流传递,此缓冲字符流大小为1024,在文件接收端以1024接收.处理. 1.服务器代码如下(使用jdk自带线程池): 1 /** 2 * 服务器处理多线程问题 3 * 4 * 1.因为服务器是要很多人访问的,因此里面一定要用多线程来处理,不然只能一个人一个人的访问,那还叫Y啥服务器 5 * 6 * 2,拿上面这个文件上传的例子来说,它将每个连接它的用户封装到线程里面去,把用户要执行的

Java字节流操作

在java.io包中得操作主要有字节流与字符流两大类,两个类都有输入输出操作. 在字节流中,输出数据主要使用OutputStream类,输入使用的InputStream类. 在字符流中,输出数据使用Writer,输入数据使用Reader. 在Java中IO操作有相应的步骤,以文件的操作为例. (1)使用File类打开一个文件 (2)通过字节流或字符流的子类指定输出的位置. (3)进行读/写操作 (4)关闭输入/输出 字符流与字节流的区别: 字节流在操作时本身不会用到缓冲区(内存),是文件本身直接

Java判断文件编码格式

转自:http://blog.csdn.net/zhangzh332/article/details/6719025 一般情况下我们遇到的文件编码格式为GBK或者UTF-8.由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式. 对于UTF-8编码格式的文本文件,其前3个字节的值就是-17.-69.-65,所以,判定是否是UTF-8编码格式的代码片段如下: Java代码 java.io.File f=new java.io.File("待判定的文本文件名");

java中文件的读写

Java中文件读写操作的作用是什么?回答这个问题时应该先想到的是Java只是一门语言,我们的一种使用工具而已,这样答案就明晰了,就是将外来的各种数据写入到某一个文件中去,用以保存下来:或者从文件中将其数据读取出来,供我们使用.就如下电影过程,从网络资源中下载一部电影保存于你电脑中(写文件),当你想看的时候就用播放器打开(读文件).Java中如何对文件进行读写操作?先理一理,Java中的流分两种,字节流和字符流,其中字节流的两个基类是InputStream和OutputStream;字符流的两个基

JAVA 字节流和字符流度读写的区别

java处理文件的类里面,stream结尾都是采用字节流,reader和writer结尾都是采用字符流.两者的区别就是读写的时候一个是按字节读写,一个是按字符. 字符流的底层就是字节流.而字符流主要是读取文本文件内容的,可以一个字符一个字符的读取,也可以一行一行的读取文本文件内容.而字节流读取单位为byte.byte作为计算机存储最基本单位,可以用字节流来读取很多其他格式的文件,比如图片视频等等.基于B/S和C/S的文件传输都可以采用字节流的形式.在读写文件需要对内容按行处理,比如比较特定字符,