文件各种流和复制_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 文件各种流和复制

文件各种流和复制

 2013/9/21 16:08:30  王浩洋  程序员俱乐部  我要评论(0)
  • 摘要:1.字节流通过读取字节的方式进行文件的输入和输出,用到的类为InputStream和OutputStream,相应的操作就是调用相应的方法,下面为示例代码,都比较简单1)输入流应用代码importjava.io.BufferedInputStream;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;publicclassInputDemo
  • 标签:文件 复制
1.字节流
通过读取字节的方式进行文件的输入和输出,用到的类为InputStream和OutputStream,
相应的操作就是调用相应的方法,下面为示例代码,都比较简单
  1)输入流应用代码
class="java" name="code">import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class InputDemo {

	/**
	 * 主函数
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		InputDemo ipd=new InputDemo();
		//此路径为相对路径
		String path="src/文件输入/InputDemo.java";
		ipd.readFile(path);
	}

	private void readFile(String path) throws IOException  {
			//创建输入流对象
			InputStream ins=new FileInputStream(path);
			//根据输入流创建缓冲流
			BufferedInputStream bis=new BufferedInputStream(ins);
			//根据流中的字节长度创建一个byte数组
			byte array[]=new byte[ins.available()];
			
			//将流中的数据读到数组中(不用缓冲)
			ins.read(array);
			
			
			//运用缓冲流输入
			//bis.read(array);
			
			
			ins.close();
			bis.close();
			//将数组转换成String类型并输出
			System.out.println(new String(array));
		
		}	

}


  2)输出流应用代码
输出流的代码是关于文件复制的应用
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class OutputDemo {

	/**
	 * 主函数
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		OutputDemo opd=new OutputDemo();
		String path1="C:/Users/Deller/Desktop/人月神话.txt";
		String path2="src/文件输出/OutputDemo.java.txt";
		opd.copyFile(path1,path2);
	}
	/**
	 * 复制文件方法
	 * @param path1 要复制的文件的路径
	 * @param path2 文件副本的路径
	 * @throws IOException文件异常
	 */
	public void copyFile(String path1,String path2) throws IOException{
		
			InputStream ins=new FileInputStream(path1);
			FileOutputStream ops=new FileOutputStream(path2);
			//创建缓冲流
			BufferedInputStream bis=new BufferedInputStream(ins);
			BufferedOutputStream bos=new BufferedOutputStream(ops);
			int i=0;
			//不运用缓冲读取文件并输出(会很慢的),不信你可以找一个较大的文件

试试
			//当ins.read()=-1时,说明文件读取完毕
			//while((i=ins.read())!=-1){
			//		ops.write(i);
			//}
			//运用缓冲读取文件并输出
			while((i=bis.read())!=-1){
				bos.write(i);
			}
			System.out.println("文件复制完成!!!");
			bos.flush();
			ins.close();
			ops.close();
			bis.close();
			bos.close();
	
	}

}

2.缓冲流
其实上面代码已经运用到了缓冲流,它的创建要根据输出和输入流进行创建。
还没写完。。。。
上一篇: 苹果A7处理器由三星制造 下一篇: 没有下一篇了!
发表评论
用户名: 匿名