zoukankan      html  css  js  c++  java
  • Java知识 21 流(Stream)、文件(file)、IO (文件操作和IO需要重新巩固)【多测师】

    一、Java.io包中的流 支持多种格式:基本类型、对象、本地化字符集
    
    二、读取控制台输入
    Java的控制台输入由system.in完成
    把system.in包装在一个BufferedReader对象中来创建一个字符流
    创建BufferedReader的基本语法:
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedReader对象创建后 就可以使用read()方法从控制台读取一个字符 或者用readLine方法读取一个字符串
    
    三、从BufferedReader对象读取字符用read()方法 语法:
    int read( ) throws IOException
    public class BRRead {
      public static void main(String args[]) throws IOException {
       char c;
       // 使用 System.in 创建 BufferedReader
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       System.out.println("输入字符, 按下 'q' 键退出。");
       // 读取字符
       do {
        c = (char) br.read();
        System.out.println(c);
       } while (c != 'q');
      }
    }
    
    四、控制台输出
    控制台输出由print()和println()完成  这些方法由类PrintStream定义
    System.out是该类对象的一个引用
    PrintStream继承了OutputStream类 并且实现了方法write()
    基本语法:void write(int byteval)
    write方法不经常用 因为print和println用起来更加方便
    //演示 System.out.write().
    public class WriteDemo {
        public static void main(String args[]) {
      int b;
      b = 'A';
      System.out.write(b);
      System.out.write('
    ');
        }
    }
    
    五、IO流:
    分为字符流和字节流
    FileInputStream流 用于从文件读取数据 对象可以用new来创建
    方式一:使用字符串类型文件名创建一个输入流对象来读取文件
    InputStream f = new FileInputStream("C:/java/hello");
    方式二:使用文件对象创建一个输入流对象读取文件,先用file()方法创建文件对象
    File f = new File("C:/java/hello"); InputStream out = new FileInputStream(f);
    
    FileOutputStream 这个类用来创建文件并向文件中写数据
    有俩个构造方法可以用来创建FileOutputStream对象
    方式一:使用字符串类型文件名创建一个输出流对象
    OutputStream f = new FileOutputStream("C:/java/hello")
    方式二:使用文件对象创建一个输出流来写文件,先用file()方法创建文件对象
    File f = new File("C:/java/hello"); OutputStream f = new FileOutputStream(f);
    写入流方法:
    close finalize write等等
    
    六、文件和I/O的类:file class(类) fileReader class(类) fileWriter class(类)
    
    七、Java中的目录 file类有俩个方法可创建文件夹
    mkdir() 和mkdirs() 创建一个文件夹和它的所有父文件夹
    在特定目录下面创建一个文件夹:
    public class CreateDir {
        public static void main(String args[]) {
      String dirname = "/tmp/user/java/bin";
      File d = new File(dirname);
      // 现在创建目录
      d.mkdirs();
        }
    }
    
    八、读取目录
    public class DirList {
      public static void main(String args[]) {
       String dirname = "/tmp";
       File f1 = new File(dirname);
       if (f1.isDirectory()) {
        System.out.println("目录 " + dirname);
        String s[] = f1.list();
        for (int i = 0; i < s.length; i++) {
         File f = new File(dirname + "/" + s[i]);
         if (f.isDirectory()) {
          System.out.println(s[i] + " 是一个目录");
         } else {
          System.out.println(s[i] + " 是一个文件");
         }
        }
       } else {
        System.out.println(dirname + " 不是一个目录");
       }
      }
    }
    运行结果:
    目录 /tmp
    .keystone_install_lock 是一个文件
    com.apple.launchd.H3GTyDTgZ5 是一个目录
    com.apple.launchd.zgbsYuhXAh 是一个目录
    mysql.sock 是一个文件
    mysql.sock.lock 是一个文件
    user 是一个目录
    
    九、删除目录或文件
    public class DeleteFileDemo {
      public static void main(String args[]) {
       // 这里修改为自己的测试目录
       File folder = new File("/tmp/java/");
       deleteFolder(folder);
      }
    
      // 删除文件及目录
      public static void deleteFolder(File folder) {
       File[] files = folder.listFiles();
       if (files != null) {
        for (File f : files) {
         if (f.isDirectory()) {
          deleteFolder(f);
         } else {
          f.delete();
         }
        }
       }
       folder.delete();
      }
    }
  • 相关阅读:
    tyflow birth节点
    tyflow雨滴在物体上滑落测试
    【bootstrap】如何在js中动态修改提示冒泡(Tooltips)的显示内容
    解决office自动更新失败,错误代码0xc0000142
    hosts文件路径(Windows)
    【微信测试版】支持安卓平板和手机同时登录
    【javascript】canvas画布涂鸦及保存图片到本地
    【python】图片批量压缩(多线程)
    【python】提取pdf文件中的所有图片
    【python】计算程序运行所消耗的总时间
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/13110923.html
Copyright © 2011-2022 走看看