• 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();
      }
    }
  • 相关阅读:
    Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1
    慕学生鲜xadmin登录不成功解决办法
    mysql删除后ID不连续解决办法
    Mac 安装gevent
    ubuntu 下 docker的简单使用
    python 字典的一些简单操作
    列表推导式
    Serializer字段和选项
    添加包解决一些导包问题
    css 文本换行,文本空白符处理相关 属性:white-space word-wrap word-break
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/13110923.html
Copyright © 2020-2023  润新知