JAVA练习9—IO流

Input:输入流指的是将数据以字符字节形式从外部媒介读取到内存中。

Output:输出流指的是将内存中的数据写入外部媒介。

IO流的分类:字节流和字符流。

字节流包含:InputStream和OutputStream。

字节流的概念:

字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节来处理的。

字符流的概念:(附代码)

字符流是由字符组成的,Java里字符由两个字节组成,所有的Reader和Writer的子类都是字符流,主要用在处理文本内容特定字符

读:
BufferedReader:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Read2 {

	public static void main(String[] args) {
		int count = 0;
		FileReader reader = null;
		BufferedReader breader = null;
		try {
			reader = new FileReader("D:\\lenovo\\info.txt");
			breader = new BufferedReader(reader);
		    String temp = "";
		while((temp=breader.readLine())!=null) {
			System.out.println(temp);
			count++;
		}
		System.out.println("共循环"+count+"次");
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}finally {
		try {
			breader.close();
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
  }
}
写:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class Write {

	public static void main(String[] args) {
		BufferedWriter writer = null;
		try {
			writer = new BufferedWriter(new FileWriter("D:\\lenovo\\info.txt",true));
			writer.newLine();
		    writer.write("Hello");
			writer.newLine();
			writer.write("中国");
			
			writer.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally {
			try {
				writer.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

	}

}


文本复制:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class ReaderWriter {

	public static void main(String[] args) {
		int count = 0;
		FileReader reader = null;
		BufferedReader breader = null;
		BufferedWriter writer = null;
		try {
			reader = new FileReader("D:\\lenovo\\info.txt");
			breader = new BufferedReader(reader);
			writer = new BufferedWriter(new FileWriter("D:\\lenovo\\info1.txt"));
			String temp = "";
			while((temp=breader.readLine())!=null){
				writer.write(temp);
				writer.newLine();
			}
			writer.flush();
			System.out.println("共循环"+count+"次");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally {
			try {
				breader.close();
				reader.close();
				writer.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

	}

}


 

字节流和字符流的区别:

1.    一个是按字节读写,一个是按字符。

2.    需要对内容按行处理,一般会选择字符流。

3.    只是读写文件和文件内容无关(下载,复制等),一般选择字节流。


其它:

线程是指程序在执行过程中,能够执行程序代码的一个执行单元。

线程的两种方法:

1.继承Thread类,重写run()方法。

2.实现Runnable接口,并实现该接口的run()方法。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值