黑马程序员 JavaSE-11 IO流

Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

JavaSE-11 IO流

File

(1)File类是用来操作文件的
(2)构造方法

    A:File file = new File("e:\\demo\\a.txt");
    B:File file = new File("e:\\demo","a.txt");
    C:File file = new File("e:\\demo");
      File file2 = new File(file,"a.txt");

(3)File类的功能

    A:创建功能  createNewFile() mkdir() mkdirs() 
    B:删除功能  delete() 
    C:重命名功能
    D:判断功能  canExecute() canRead() canWrite() compareTo  equals(Object obj) exists() 
    E:获取功能  getName() getPath() 
    F:高级获取功能  getParent() getParentFile() list() listFiles() 
    G:过滤器功能

(4)案例:

    A:输出指定目录下指定后缀名的文件名称
        a:先获取所有的,在遍历的时候判断,再输出
        b:先判断,再获取,最后直接遍历输出即可
    B:批量修改文件名称

IO流

(1)IO用于在设备间进行数据传输的操作
(2)分类:

IO流
    |--字节流
        |--字节输入流
            InputStream
                int read():一次读取一个字节
                int read(byte[] bys):一次读取一个字节数组

                |--FileInputStream
                |--BufferedInputStream
        |--字节输出流
            OutputStream
                void write(int by):一次写一个字节
                void write(byte[] bys,int index,int len):一次写一个字节数组的一部分

                |--FileOutputStream
                |--BufferedOutputStream
    |--字符流
        |--字符输入流
            Reader
                int read():一次读取一个字符
                int read(char[] chs):一次读取一个字符数组

                |--InputStreamReader
                    |--FileReader
                |--BufferedReader
                    String readLine():一次读取一个字符串
        |--字符输出流
            Writer
                void write(int ch):一次写一个字符
                void write(char[] chs,int index,int len):一次写一个字符数组的一部分

                |--OutputStreamWriter
                    |--FileWriter
                |--BufferedWriter
                    void newLine():写一个换行符

                    void write(String line):一次写一个字符串

(3)IO流相关类的继承关系

java.lang.Object
 -java.io.InputStream     此抽象类是表示字节输入流的所有类的超类。
      -java.io.FileInputStream
      -java.io.FilterInputStream
           -BufferedInputStream
 -java.io.OutputStream     此抽象类是表示输出字节流的所有类的超类。
      -java.io.FileOutputStream
      -java.io.FilterOutputStream
           -BufferedOutputStream    

(4)字符流字节流读写操作代码示例

//字符流
     private static void methord9(String srcfile, String endfile) throws IOException {
          // TODO Auto-generated method stub
          BufferedReader br = new BufferedReader(new FileReader(srcfile));
          BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
          String str;
          while((str = br.readLine())!= null){
               bw.write(str);
               bw.newLine();
               bw.flush();
          }
          br.close();
          bw.close();
     }

     private static void methord8(String srcfile, String endfile) throws IOException {
          // TODO Auto-generated method stub

          BufferedReader br = new BufferedReader(new FileReader(srcfile));
          BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
          char[] chs = new char[1024];
          int len= 0;
          while((len = br.read(chs))!=-1){
               bw.write(chs,0,len);
               bw.flush();
          }
          br.close();
          bw.close();
     }

     private static void methord7(String srcfile, String endfile) throws IOException {
          // TODO Auto-generated method stub
          BufferedReader br = new BufferedReader(new FileReader(srcfile));
          BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
          int c;
          while((c = br.read())!=-1){
               bw.write(c);
          }
          br.close();
          bw.close();
     }

     private static void methord6(String srcfile, String endfile) throws IOException {
          // TODO Auto-generated method stub
          InputStreamReader isr = new InputStreamReader(new FileInputStream(srcfile));
          OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(endfile));
          char[] chs = new char[1024];
          int len = 0;
          while((len = isr.read(chs))!=-1){
               osw.write(chs,0,len);
          }
          isr.close();
          osw.close();

     }

     private static void methord5(String srcfile, String endfile) throws IOException {
          // TODO Auto-generated method stub
          InputStreamReader isr = new InputStreamReader(new FileInputStream(srcfile));
          OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(endfile));
          int c;
          while((c = isr.read())!=-1){
               osw.write(c);
          }
          isr.close();
          osw.close();

     }

//字节流
      private static void methord4(String srcfile, String endfile) throws IOException {
          // TODO Auto-generated method stub
          BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
                    srcfile));
          BufferedOutputStream bos = new BufferedOutputStream(
                    new FileOutputStream(endfile));
          byte[] bys = new byte[1024];
          int len = 0;
          while ((len = bis.read(bys)) != -1) {
               bos.write(bys,0,len);
          }
          bis.close();
          bos.close();
     }

     private static void methord3(String srcfile, String endfile)
               throws IOException {
          // TODO Auto-generated method stub
          BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
                    srcfile));
          BufferedOutputStream bos = new BufferedOutputStream(
                    new FileOutputStream(endfile));
          int f = bis.read();
          while ((f = bis.read()) != -1) {
               bos.write(f);
          }
          bis.close();
          bos.close();
     }

     private static void methord2(String srcfile, String endfile)
               throws IOException {
          // TODO Auto-generated method stub
          FileInputStream fis = new FileInputStream(srcfile);
          FileOutputStream fos = new FileOutputStream(endfile);
          byte[] bys = new byte[1024];
          int len = 0;
          while ((len = fis.read(bys)) != -1) {
               fos.write(bys, 0, len);
          }
          fis.close();
          fos.close();
     }

     private static void methord1(String srcfile, String endfile)
               throws IOException {
          // TODO Auto-generated method stub
          FileInputStream fis1 = new FileInputStream(srcfile);
          FileOutputStream fos1 = new FileOutputStream(endfile);
          int f1;
          while ((f1 = fis1.read()) != -1) {
               fos1.write(f1);
          }
          fis1.close();
          fos1.close();
     }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值