欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2018.5.23 I/O 流

程序员文章站 2024-03-04 20:31:12
...

I/O流


什么是I/O流?

I/O流:源于Unix中管道的概念。在Unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。

2018.5.23 I/O 流


I/O流分为哪几类?

2018.5.23 I/O 流


什么是字节流?什么是字符流?

字节流:字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节处理的。
字符流:字符流是由字符组成的,Java里字符由两个字节组成,所有的Reader和 Writer的子类都是字符流,主要用在处理文本内容或特定字符。

字符流的常用类:
字符输出流:Writer
字符输入流:Reader


字节流和字符流的区别?

2018.5.23 I/O 流


实现文件复制的思路是什么?

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方法