2018.5.23 I/O 流
程序员文章站
2024-03-04 20:31:12
...
I/O流
什么是I/O流?
I/O流:源于Unix中管道的概念。在Unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。
I/O流分为哪几类?
什么是字节流?什么是字符流?
字节流:字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节处理的。
字符流:字符流是由字符组成的,Java里字符由两个字节组成,所有的Reader和 Writer的子类都是字符流,主要用在处理文本内容或特定字符。
字符流的常用类:
字符输出流:Writer
字符输入流:Reader
字节流和字符流的区别?
实现文件复制的思路是什么?
package com.lenovo.www.enttt;
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 FileDemo7 {
public static void main(String[] args) {
int count = 0;
FileReader reader = null;
BufferedReader breader = null;
BufferedWriter writer = null;
try {
reader = new FileReader("D:\\java demo\\JAVA.txt");
writer = new BufferedWriter(new FileWriter("D:\\java demo\\JAVA2"));
breader = new BufferedReader(reader);
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();
}
}
}
}
如何使用字符流进行文件的读写?
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class T04 {
public static void main(String[] args) throws Exception{
String value = "一\n";
String value2 = "a 一\n";
// 向文件中写入内容
PrintWriter pw = new PrintWriter("temp.txt","UTF-8");
pw.write(value);
pw.write(value2);
pw.close();
// 从文件中读取内容
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream("temp.txt"),"utf-8"));
String b;
while((b = br.readLine())!=null){ // 按行读取
System.out.println(b);
}
br.close();
}
}
实现线程
1.继承thread 实现run 方法
2.接口runnable 实现run方法