IO流,字节流复制文件,字符流+缓冲复制文件

IO流,字节流复制文件,字符流+缓冲复制文件

JAVAIO如果按流向分:输入流和输出流两种

          输入流的基类:InputStream   Reader

          输出流的基类:OutputStream   Writer

    如果按数据单元划分:字节流和字符流

          字节流输入输出的基类:InputStream  OutputStream

          字符流输入输出的基类:Reader   Writer

 

字节流复制文件内容

public static void main(String[] args) {
		//字节流复制文件内容
		InputStream io=null;
		OutputStream os=null;
		try {
			io=new FileInputStream("D:/a.txt");
			os=new FileOutputStream("D:/c.txt");
			int a=0;
			byte[] b=new byte[1024];
			while((a=io.read(b))!=-1){
				os.write(b,0,a);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				os.close();
				io.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

  注意事项:java 的路径符号是:“/” “\\”  而我们的系统路径符号是:“\”  读取和写入文件完毕时记得关机流,否则会读取不了文件内容

 

字符流+缓冲复制文件内容

public static void main(String[] args) {
		//字符流+缓冲复制文件文件内容
		Reader read=null;
		BufferedReader br=null;
		Writer write=null;
		BufferedWriter bw=null;
		
		try {
			read=new FileReader("D:/a.txt");
			br=new BufferedReader(read);
			write=new FileWriter("D:/d.txt");
			bw=new BufferedWriter(write);
			String s="";
			while((s=br.readLine())!=null){
				bw.write(s);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				bw.close();
				write.close();
				br.close();
				read.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

  注意事项:关流时记得按顺序:先开的后关,后开的先关

上一篇:字节输出流


下一篇:I/O流