首页 > 代码库 > FileReader

FileReader

package file;import java.io.*;public class FileReader {    public static void main(String[] args){//        Demo1();//        Demo2();//        Demo3();//        Demo4();//        Demo5();        //Demo6();        Demo7();      }    //file的使用例子    public static void  Demo1()    {        File f = new File("e:\\file");         if(f.isDirectory())        {            System.out.println(f.getPath());        }    }    public static void Demo2()    {          File f;          //File.separator是分隔符,因为不同平台可能用的不一样,windows可能用\\而linux可能用//          f = new File("e:" + File.separator + "file" + File.separator + "io.txt");//获得路径句柄          try {            System.out.println(f.createNewFile());//创建文件        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }          //f.delete();          System.out.println(f.getPath());    }    public static void Demo3()    {        File f=new File("e:\\file\\demo.txt");//构造一个路径的句柄        System.out.println(f.getPath());        System.out.println(f.getParent());        if(f.exists())//如果文件存在则删除,不存在则生成        {            f.delete();            //System.out.println("文件已经存在!");        }        else        {            try {                System.out.println(f.createNewFile());            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }    public static void Demo4()    {        File file=new File("e:"+File.separator+"file");//获得e:file文件句柄        String[] str=file.list();//使用list()将里面的文件都放在String 数组里        for(int i=0;i<str.length;i++)        {            System.out.println(str[i]);        }    }       public static void fun(File f){        //判断给定的路径是否是目录,如果是目录在列出        if(f.isDirectory()){            File[] file = f.listFiles();            //再依次循环进行判断            try{                for(int i = 0;i < file.length;i++){                    //继续把内容传入到fun方法之中进行验证                    fun(file[i]);                }            }catch(Exception e){}        }        else{            System.out.println(f);        }    }    //使用递归调用 扫描e盘所有的文件      public static void Demo5()    {        File file=new File("e:\\");        fun(file);    }            //fileInputStream的使用例子    public static void Demo6()//错误例子,不能直接用String将字节流转为字符,应该用InputStreamReader    {        try        {            File file=new File("e:"+File.separator+"file"+File.separator+"io.txt");            FileInputStream fis=new FileInputStream(file);            byte[] b=new byte[fis.available()];            fis.read(b);//将文件的内容读取到byte数组中            fis.close();            String str=new String(b);//怎么会乱码???            System.out.println(str);        }        catch(IOException e)        {            e.printStackTrace();        }                    }    public static void Demo7()    {        try        {            String encoding="GBK";            File file=new File("e:"+File.separator+"file"+File.separator+"io.txt");            FileInputStream fis=new FileInputStream(file);//从句柄中读取文件的字节流,创建字节流对象             if(file.isFile() && file.exists())             {                InputStreamReader isr=new InputStreamReader(fis,encoding);//将字节流转化为字符流,创建字符流对象                 BufferedReader bfr=new BufferedReader(isr);//BufferedReader对使用者输入的字符进行缓冲                 String line=null;                 while((line=bfr.readLine())!=null)                 {                     System.out.println(line);                 }                  bfr.close();             }        }        catch(IOException e)        {            e.printStackTrace();        }    }            }
package file;import java.io.*;public class FileReader {    public static void main(String[] args){//        Demo1();//        Demo2();//        Demo3();//        Demo4();//        Demo5();        //Demo6();        Demo7();      }    //file的使用例子    public static void  Demo1()    {        File f = new File("e:\\file");         if(f.isDirectory())        {            System.out.println(f.getPath());        }    }    public static void Demo2()    {          File f;          //File.separator是分隔符,因为不同平台可能用的不一样,windows可能用\\而linux可能用//          f = new File("e:" + File.separator + "file" + File.separator + "io.txt");//获得路径句柄          try {            System.out.println(f.createNewFile());//创建文件        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }          //f.delete();          System.out.println(f.getPath());    }    public static void Demo3()    {        File f=new File("e:\\file\\demo.txt");//构造一个路径的句柄        System.out.println(f.getPath());        System.out.println(f.getParent());        if(f.exists())//如果文件存在则删除,不存在则生成        {            f.delete();            //System.out.println("文件已经存在!");        }        else        {            try {                System.out.println(f.createNewFile());            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }    public static void Demo4()    {        File file=new File("e:"+File.separator+"file");//获得e:file文件句柄        String[] str=file.list();//使用list()将里面的文件都放在String 数组里        for(int i=0;i<str.length;i++)        {            System.out.println(str[i]);        }    }       public static void fun(File f){        //判断给定的路径是否是目录,如果是目录在列出        if(f.isDirectory()){            File[] file = f.listFiles();            //再依次循环进行判断            try{                for(int i = 0;i < file.length;i++){                    //继续把内容传入到fun方法之中进行验证                    fun(file[i]);                }            }catch(Exception e){}        }        else{            System.out.println(f);        }    }    //使用递归调用 扫描e盘所有的文件      public static void Demo5()    {        File file=new File("e:\\");        fun(file);    }            //fileInputStream的使用例子    public static void Demo6()//错误例子,不能直接用String将字节流转为字符,应该用InputStreamReader    {        try        {            File file=new File("e:"+File.separator+"file"+File.separator+"io.txt");            FileInputStream fis=new FileInputStream(file);            byte[] b=new byte[fis.available()];            fis.read(b);//将文件的内容读取到byte数组中            fis.close();            String str=new String(b);//怎么会乱码???            System.out.println(str);        }        catch(IOException e)        {            e.printStackTrace();        }                    }    public static void Demo7()    {        try        {            String encoding="GBK";            File file=new File("e:"+File.separator+"file"+File.separator+"io.txt");            FileInputStream fis=new FileInputStream(file);//从句柄中读取文件的字节流,创建字节流对象             if(file.isFile() && file.exists())             {                InputStreamReader isr=new InputStreamReader(fis,encoding);//将字节流转化为字符流,创建字符流对象                 BufferedReader bfr=new BufferedReader(isr);//BufferedReader对使用者输入的字符进行缓冲                 String line=null;                 while((line=bfr.readLine())!=null)                 {                     System.out.println(line);                 }                  bfr.close();             }        }        catch(IOException e)        {            e.printStackTrace();        }    }            }