zoukankan      html  css  js  c++  java
  • Java学习笔记(7)

    File类用于处理文件和目录

    isDirectory()用于检查当前对象是否目录,isFile()用于检查当前对象是否文件

    构造File对象时,传入的路径不一定要求存在,要通过exists()方法判断是否存在

    使用Scanner类从文件中读取文本数据,使用PrintWriter类向文件中写入文本数据

    如果文件不存在,PrintWriter将创建一个新的文件;如果文件已存在,文件中的原有内容将被擦除。print(),println(),printf()三个方法向文件中写数据,最后不要忘记调用close()方法关闭文件

    另外还可以通过try-with-resources的语法,自动释放资源

    try(java.io.PrintWriter writer=new java.io.PrintWriter(file)){
      //文件写入操作  
    }

    括号里声明的资源,在try代码块运行结束后,会自动释放,括号里可能同时声明多个资源。资源对象必须是AutoCloseable的子类。资源必须在一条语句中声明并创建完毕

    使用Scanner读取文件,要调用下面这个构造函数

    Scanner input = new Scanner(new File(fileName));

    Scanner(string)用于直接从string变量中读取数据。

    换行符在windows下是 , 在UNIX系统下是 , 可以通过如下语句获取当前系统的换行符

    String lineSeparator = System.getProperty("line.separator");

    判断是否已读到文件结尾处,用Scanner.hasNext();

    通过传递Url给Scanner, 可以读取网络资源

     1         System.out.println("Enter a URL: ");
     2         String URLString = new Scanner(System.in).next();
     3 
     4         try {
     5             URL url = new URL(URLString);
     6             int count = 0;
     7             Scanner input = new Scanner(url.openStream());
     8             while (input.hasNext()) {
     9                 String line = input.nextLine();
    10                 count += ((String) line).length();
    11             }
    12 
    13             System.out.println("The file size is " + count + " characters");
    14         } catch (MalformedURLException e) {
    15             System.out.println("Invalid URL");
    16         } catch (IOException e) {
    17             System.out.println("I/O errors: no such file");
    18         }

    抽象方法只有定义,没有实现,需要在子类中实现;含有抽象方法的类,必须定义为抽象类;抽象类不能实例化。

    子类要实现父类的所有抽象方法,否则子类也要定义成抽象类,抽象方法都是非静态方法

    抽象类不能通过new操作进行实例化,但你仍然可以定义构造器,以在子类中被调用

    含有抽象方法的类必须是抽象类,抽象类不一定要包含抽象方法

    子类中可以重写父类中的方法,并把它定义为抽象方法(不常用)

    即使父类是实在类(concrete),子类也可以定义成抽象(所有类的基类都是Object, Object是实在类)

    虽然不能通过new创建抽象类的实例,但是抽象类可以作为一个类型使用

  • 相关阅读:
    对json的爱恨情仇
    Linux操作系统改动PATH的方法
    不好意思啊,我上周到今天不到10天时间,用纯C语言写了一个小站!想拍砖的就赶紧拿出来拍啊
    cmd启动Oracle服务和监听服务
    8.4.1 跨越整个分区的聚合函数
    nginx 代理tcp长连接短连接配置
    Nginx Upstream Keepalive 分析 保持长连接
    Xargs用法详解
    删除除了指定扩展名文件其他全部删除
    LINUX的文件按时间排序
  • 原文地址:https://www.cnblogs.com/xclw/p/10550159.html
Copyright © 2011-2022 走看看