zoukankan      html  css  js  c++  java
  • 01JavaIO详解_File类

     对程序语言设计者来说,设计一个令人满意的I/O系统,是件极艰难的任务。——摘自Think in java

    对java而言,File表示的是文件或目录。但是我们知道文件和目录是不一样的,文件里面存放的是内容,目录存放的目录。那么java怎么区分呢?

    通过File给我们提供的一些方法来区分的。

    介绍一些File类:

       1.File类提供了与平台无关的方法来对磁盘上的文件和目录进行操作。

       2.File类直接处理文件和文件系统、

       3.File类没有指定信息怎样从文件读取或向文件存储。

    File类只是创建。没有办法给文件追加信息什么的。这个只能靠别的类去实现了。

    File类常用的构造方式:

    File(路径)

    这里说一下路径怎么写?因为Windows的路径是用来表示的,但是我们知道这个在java里面表示的其实只是转意字符,所以如果直接写c:aa.jsp这样肯定会报错。所以为了解决这个问题,我们可以这么写c:\aa.jsp这样的。当然其实更好的解决办法是c:/aa.jsp,这样的好处是,除了windows系统别的系统的路径分隔符都是/,这么写的话就可以在别的系统也可执行了。

    创建File文件的案例:一共三种常见构造方式:

    第一种:File("路径")

    采用File.pathSeparator种方式,这是最好的方法。

    public class FileTest {
    public static void main(String[] args) throws IOException {
    
     File file=new File("c:/vv.txt");

    //这种方式针对的是LINUX
    //
    File file=new File(File.pathSeparator+"vv.txt"); System.out.println(file.createNewFile()); } }

    第二种:FIle(File file,String 路径),在D盘下的abc文件夹(事先已经存在了)下,创建aa.txt文件

    import java.io.File;
    import java.io.IOException;
    
    public class FileTest {
    public static void main(String[] args) throws IOException {
    File file=new File("d:/abc");
    File file2=new File(file, "aa.txt");
    System.out.println(file2.createNewFile());
    //这么写也是可以的,这么写的前提是xyz目录已经存在了,不然会报错,找不到指定的路径
     /*File file=new File("d:/abc");
    File file2=new File(file, "xyz/aa.txt");
    System.out.println(file2.createNewFile());*/ } }

    第三种:File(String path,String path2)

    前面说过,File即表示目录也表示文件,有一些特定的方法会去识别这个File到底是目录呢还是路径呢?两个方法:1.isFile()   2.isDirectory().

    File的目录方面的知识:

    1.mkdir()和mkedirs()

    那么怎么创建目录呢?

    案例如下:在d:/abc/xyz路径下面创建一个新的路径hello

    public class FileTest {
    public static void main(String[] args) throws IOException {
    
    //d:/abc/xyz这个路径是已经存在的,hello这个路径是要我们创建的
    File file=new File("d:/abc/xyz/hello");
    file.mkdir();
        
    }
    }

    补充:上面用的File的mkdir()的方法,局限性在于要创建hello这个目录,必须要保证d:/abc/xyz/这些路径已经是存在的。不然就报错。

             但是如果用File的mkdirs()方法的话,就是/abc/xyz/这些路径不存在,也会一起把这些路径创建了。

            

     2.public String[] list()这个方法可以返回抽象路径名表示路径中的文件名以及目录名。

  • 相关阅读:
    20191017-1 每周例行报告
    20191010-2 每周例行报告
    20190919-1 每周例行报告
    彭思雨20190919-3效能分析
    zipfile
    subprocess
    configparser
    hashlib
    json & pickle
    headpq
  • 原文地址:https://www.cnblogs.com/shenxiaoquan/p/5737311.html
Copyright © 2011-2022 走看看