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();
			}
		}
	}
}

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

原文地址:https://www.cnblogs.com/LittleBoys/p/12090904.html

时间: 2024-08-04 10:24:27

IO流,字节流复制文件,字符流+缓冲复制文件的相关文章

75. InputStreamReader和OutputStreamWriter(转换流--字节流转换成字符流)

转换流: InputStreamReader   输入字节流转换成输入字符流OutputStreamWriter  输出字节流转换成输出字符流 总结:就是字节流转换成字符流,但是不能字节流转换成字节流(联想记忆----只有屌丝想变成高富帅,没有高富帅想变成屌丝) 应用场景:    在以后开发中中我们免不了使用别人的工具,如果别人就是返回一个字节流,但是你想用字符流,这个时候我们就可以使用转换流来把字节流转换成字符流 下面是一些实例演示: 把字节流转换成字符流,并实现读写 public class

J2SE知识点归纳笔记(七)---Java IO Part 4:基本字符流

J2SE知识点归纳笔记(七)---Java IO Part 4:基本字符流                                                                 --转载请注明出处:coder-pig 本节引言: 上一节中,我们对于Java IO流中的一些基本字节流进行了学习,他们都是InputStream与 OutputStream的子类;本节学习的字符流则是Reader与Writer的子类,好了,话不多说, 开始本节内容! 本节正文: 1.Reade

IO流(二)字符流

1.字符流:在字节流的基础上添加了编码机制.很大程度上和字节流操作一样的,字符流只能操作文本类文件,准确的说应该是纯文本类文件.例如.txt,.java,.cpp,.html等 编码:每一个国家都有自己的编码,编码不一致往往导致的结果就是!!乱码!!.中国编码的编码:gbk gbk:英文字母:1个字节,中文:2个字节,系统的默认编码. unicode:统一编码.中文还是英文字母都是占2个字节. utf-8: 国际编码.英文占1个字节,中文占3个字节. 文件是用什么编码来写的,那么就用什么编码来读

将字节流转换成字符流

readLine方法是字符流BufferedReader类中的方法 键盘read方法是字节流InputStream的方法. 能不能将字节流转换成字符流,在使用字符流缓冲区的readLine方法? InpuStream in = System.in; //将字节流对象转换成字符流 InputStreamReader isr = new InputStreamReader(in); //使用字符流的缓冲区,用于提高效率 BufferedReader bufr = new BufferedReader

Java基础知识强化之IO流笔记39:字符流缓冲流之特殊功能

1. 字符缓冲流的特殊方法 BufferedWriter: 1 public void newLine():根据系统来决定换行符 BufferedReader: 1 public String readLine():一次读取一行数据 包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null 2. 代码示例: 1 package cn.itcast_05; 2 3 import java.io.BufferedReader; 4 import java.io.BufferedW

Java基础知识强化之IO流笔记37:字符流缓冲流之BufferedWriter / BufferedReader使用

1. 字符流缓冲流: 字符流为了高效读写,也提供了对应的字符缓冲流. BufferedWriter:字符缓冲输出流 BufferedReader:字符缓冲输入流 2. BufferedWriter使用:     将文本写入字符输出流,缓冲各个字符,从而提供单个字符.数组和字符串的高效写入.可以指定缓冲区的大小,或者接受默认的大小.在大多数情况下,默认值就足够大了. (1)BufferedWriter的构造方法: 构造方法摘要 BufferedWriter(Writer out)         

【Java】IO流--文件字符流--FileReader、FileWriter

FileReader 作用:用于读取字符流 构造方法: FileReader(File file) 创建一个新的 FileReader ,给出 File读取. FileReader(String fileName) 创建一个新的 FileReader ,给定要读取的文件的名称. 常用方法: 1)int read();2)int read(char[] cbuf)3)int read(char[] cbuf,int off,int len);4) int available();5)close()

Java中字节流如何转字符流,OutputStreamWriter用法

OutputStreamWriter 将字节流转换为字符流.是字节流通向字符流的桥梁.如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:UTF-8: 步骤: 1.创建流 子类对象  绑定数据目的. 1 FileOutputStream fos = new FileOutputStream("c:\\utf.txt"); 2.将字节转为字符,并声明utf-8格式(万国码). 1 OutputStreamWriter sow = new OutputStreamWriter(f

java _io_文件字符流输入

字符流读取数据不会产生乱码问题字节流读取数据可能会因为字符集不同,每个字符对应的字符大小不同而产生乱码/ Read read= new FileReader(File f);或路径 操作方法:除了流的选择改变和字节数组变成了字符数组,其他都一样 public class test{ public static void main(String[]args) { File f =new File("C:/Users/10853/eclipse-workspace/hell/src/hell/abc

文件字符流 编码判断

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Web; namespace Wordsearch1{ public class FileEncoding { public FileEncoding() { // // TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 取得一个文本文件的编码