首页 > 其他 > 详细

关于读写任意文件类型的方法

时间:2019-11-03 21:20:06      阅读:87      评论:0      收藏:0      [点我收藏+]

package test;


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.LineNumberReader;
import java.math.BigDecimal;
import java.nio.channels.NonReadableChannelException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;

import privateclass.MyBufferedReader;

public class Main {

	private static final String space_operator = " ";
	private static final double pi = Math.PI;
	private static final String LINE_SEPARATOR = System.getProperty("line.separator");
	public static void main(String[] args) throws Exception {

		demo_1();
		demo_2();
		demo_3();
		demo_4();		
	}
	private static void demo_1() throws Exception {
		FileInputStream fis = new FileInputStream("d:\\daxiao.mp4");
		FileOutputStream fos = new FileOutputStream("d:\\Copy_daxiao1.mp4");
		
		byte [] buf = new byte[1024];
		int len = 0;
		while((len = fis.read(buf)) != -1)
		{
			fos.write(buf,0,len);
		}
		fis.close();
		fos.close();
	}
	
	/*
	 * 这个方法是一个字节一个字节的读取
	 * 很慢不建议使用
	 */
	private static void demo_2() throws Exception {
		FileInputStream fis = new FileInputStream("d:\\daxiao.mp4");
		FileOutputStream fos = new FileOutputStream("d:\\Copy_daxiao2.mp4");
	
		int len = 0;
		while((len = fis.read()) != -1)
		{
			fos.write(len);
		}
		fis.close();
		fos.close();
		
	}
	private static void demo_3() throws Exception {
		
		FileInputStream fis = new FileInputStream("d:\\daxiao.mp4");
		FileOutputStream fos = new FileOutputStream("d:\\Copy_daxiao3.mp4");
		
		BufferedInputStream bis = new BufferedInputStream(fis);
		BufferedOutputStream bos = new BufferedOutputStream(fos);
		
		int len = 0;
		while((len = bis.read()) != -1)
		{
			bos.write(len);
		}
		bis.close();
		bos.close();
	}
	
	/*
	 * 缓冲区的大小就是我们所读文件的大小
	 * 但是当文件太大的时候我们就要考虑爆数组的问题了
	 */
	private static void demo_4() throws Exception {
		
		FileInputStream fis = new FileInputStream("d:\\daxiao.mp4");
		FileOutputStream fos = new FileOutputStream("d:\\Copy_daxiao4.mp4");
		
		byte [] buf = new byte[fis.available()];
	
		fis.read(buf);
		fos.write(buf);
		
		fis.close();
		fos.close();
	}
}

  

关于读写任意文件类型的方法

原文:https://www.cnblogs.com/WINDZLY/p/11788803.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!