首页 > 代码库 > IO流基本操作

IO流基本操作

第一种分法:1.输入流2.输出流第二种分法:1.字节流2.字符流第三种分法:1.节点流2.处理流////////////////////////////////////////////////////////////////////////////字节流:InputStream 的子类是? FileInputStream;InputStream :int  read(byte[]b,int off,int len)从第几位读,读几个,返回读取的个数OutputStream 的子类是?FileOutputStreamOutputStream :void  write(byte[]b,int off,int len)public static void main(String args[]){FileInputStream in = null;        FileOutputStream out = null;        try {            in = new FileInputStream("e:/from.txt");//输入流(从文件读数据,即数据输入到程序里)            out = new FileOutputStream("e:/to.txt");//输出流(写入文件数据,即数据输出到文件里)            byte[] buffer  =new  byte[100];//字节数组,用来存放读取的数据            int num = in.read(buffer, 0, buffer.length);//从第0位读取,读from.txt文件的 buffer.length个,放进buffer内            out.write(buffer, 0, num);//read方法返回读取的个数            //out.write(buffer, 0, 2);//从0位开始,把buffer数组的2个字节写进to.txt文件里            for(int i = 0;i<buffer.length;i++){                System.out.print(buffer[i]);            }String s = new String(buffer);//转换成原来的字符s= s.trim();//trim方法:去掉首尾空格和空字符,中间的空格不去掉            System.out.print(s);        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally{            try {                in.close();                out.close();            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            }}读取大文件:public static void main(String args[]) {        FileInputStream in = null;        FileOutputStream out = null;        int a = 0;        try {            in = new FileInputStream("e:/from.txt");//输入流(从文件读数据,即数据输入到程序里)            out = new FileOutputStream("e:/to.txt");//输出流(写入文件数据,即数据输出到文件里)            byte[] buffer  =new  byte[1024];//字节数组,用来存放读取的数据            while(true){                                a++;                System.out.print(a);                int num = in.read(buffer, 0, buffer.length);//从第0位读取,读from.txt文件的 buffer.length个,放进buffer内                out.write(buffer, 0, num);//read方法返回读取的个数                if(num == -1){//返回-1,说明读取完毕                    break;                }            }                } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        finally{            try {                in.close();                out.close();            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            }////////////////////////////////////////字符流:读写文件时,以字符为基础字节输入流:Reader 的子类是?FileReaderint read(char [] c,int off,int len)字节输出流:Writer 的子类是?FileWritervoid write(char [] c,int off,int len)public static void main(String args[]) {                FileReader reader =null;        FileWriter writer = null;        try{        reader = new FileReader("E:/from.txt");        writer = new FileWriter("e:/to.txt");                char [] buffer = new char[100];        int num = reader.read(buffer, 0, buffer.length);        writer.write(buffer, 0, num);        for(int i = 0;i<num;i++){            System.out.print(buffer[i]);        }        }        catch(Exception e){            System.out.print(e);        }        finally{            try{            reader.close();            writer.close();            }            catch(Exception e){                System.out.print("success!!!");            }        }}/////////////////////////////////////////////////一次性读取一行数据public static void main(String args[]) {                FileReader fileReader = null;        BufferedReader  bufferedReader = null;        try{            fileReader = new FileReader("e:/from.txt");            bufferedReader = new BufferedReader(fileReader);            String line = null;            while(true){            line  = bufferedReader.readLine();            if(line == null){                break;            }            System.out.println(line);            }        }        catch(Exception e){            System.out.println(e);                    }        finally{            try{            bufferedReader.close();            fileReader.close();            }            catch(Exception e){                System.out.println(e);            }                    }

 

IO流基本操作