AI智能
改变未来

JAVA_基础IO流(一)


IO流

File类的使用

  • java.io.File

    类:文件和文件目录路径的抽象表示形式,与平台无关。

  • File

    能新建、删除、重命名文件和目录,但

    File

    不能访问文件内容本身。 如果需要访问文件内容本身,则需要使用输入/输出流。

  • 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个
    File

    对 象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。

  • File

    对象可以作为参数传递给流的构造器。

  1. 如何创建

    File

    类的实例
    public File(String pathname):以

    pathname

    为路径创建

    File

    对象,可以是绝对路径或者相对路径,如果

    pathname

    是相对路径,则默认的当前路径在系统属性

    user.dir

    中存储。

    File file1 = new File(\"hello.txt\");// 相对于当前moduleFile file2 = new File(\"F:\\\\Java\\\\JavaSenior\\\\month12-day07\\\\he.txt\");// 绝对路径System.out.println(file1);// hello.txtSystem.out.println(file2);// F:\\Java\\JavaSenior\\month12-day07\\he.txt

    public File(String parent,String child):以

    parent

    为父路径,

    child

    为子路径创建

    File

    对象。

    File file3 = new File(\"F:\\\\Java\\\\JavaSenior\",\"month12-day07\");System.out.println(file3);// F:\\Java\\JavaSenior\\month12-day07

    public File(File parent,String child):根据一个父

    File

    对象和子文件路径创建

    File

    对象。

    File file4 = new File(file3, \"hi.txt\");System.out.println(file4); // F:\\Java\\JavaSenior\\month12-day07\\hi.txt
  2. 相对路径:相较于某个路径下,指明的路径
    绝对路径:包含盘符在内的文件或文件路径

  3. 路径分隔符
    windows和DOS系统:\\\\
    unix和URL:/
    Java程序支持跨平台运行,因此路径分隔符要慎用。
    为了解决这个隐患,File类提供了一个常量:

    public static final String separator

    。根据操作系统,动态的提供分隔符。

    File file1 = new File(\"d:\\\\atguigu\\\\info.txt\");File file2 = new File(\"d:\" + File.separator + \"atguigu\" + File.separator + \"info.txt\");File file3 = new File(\"d:/atguigu\");

File类的获取功能

public String getAbsolutePath():获取绝对路径 。
public String getPath() :获取路径 。
public String getName() :获取名称 。
public String getParent():获取上层文件目录路径。若无,返回

null


public long length() :获取文件长度(即:字节数)。不能获取目录的长度。
public long lastModified() :获取最后一次的修改时间,毫秒值 。

如下方法适用于文件目录
public String[] list() :获取指定目录下的所有文件或者文件目录的名称数组 。
public File[] listFiles() :获取指定目录下的所有文件或者文件目录的

File

数组。

public void Test2() {File file1 = new File(\"hello.txt\");File file2 = new File(\"F:\\\\OfficeFile\\\\JAVA_IO\\\\hi.txt\");System.out.println(file1.getAbsolutePath());System.out.println(file1.getName());System.out.println(file1.getParent());System.out.println(file1.length());System.out.println(new Date(file1.lastModified()));System.out.println();System.out.println(file2.getAbsolutePath());System.out.println(file2.getName());System.out.println(file2.getParent());System.out.println(file2.length());System.out.println(file2.lastModified());}
public void test3() {File file = new File(\"F:\\\\Java\\\\JavaSenior\\\\month12-day07\");String[] list = file.list();for (String s : list) {System.out.println(s);}File[] files = file.listFiles();for (File s : files) {System.out.println(s);}}

public boolean renameTo(File dest):把文件重命名为指定的文件路径。
file1.renameTo(file2) 为例:
要像保证返回true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在。

public void test4() {File file1 = new File(\"hello.txt\");File file2 = new File(\"F:\\\\OfficeFile\\\\JAVA_IO\\\\hi.txt\");boolean renameTo = file1.renameTo(file2);System.out.println(renameTo);}

File类常用方法

File类的判断功能

public boolean isDirectory():判断是否是文件目录。
public boolean isFile() :判断是否是文件。
public boolean exists() :判断是否存在。
public boolean canRead() :判断是否可读。
public boolean canWrite() :判断是否可写。
public boolean isHidden() :判断是否隐藏

public void test5() {File file1 = new File(\"hello.txt\");System.out.println(file1.isDirectory());System.out.println(file1.isFile());System.out.println(file1.exists());System.out.println(file1.canRead());System.out.println(file1.canWrite());System.out.println(file1.isHidden());System.out.println();File file2 = new File(\"F:\\\\OfficeFile\\\\JAVA_IO\");System.out.println(file1.isDirectory());System.out.println(file1.isFile());System.out.println(file1.exists());System.out.println(file1.canRead());System.out.println(file1.canWrite());System.out.println(file1.isHidden());}

File类的创建硬盘中对应文件或目录

public boolean createNewFile() :创建文件。若文件存在,则不创建,返回

false


public boolean mkdir() :创建文件目录。如果此文件目录存在,就不创建了。 如果此文件目录的上层目录不存在,也不创建。
public boolean mkdirs() :创建文件目录。如果上层文件目录不存在,一并创建。
public boolean delete():删除磁盘中的文件或者文件夹 删除注意事项: Java中的删除不走回收站。 要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录。

文件的创建:

public void test6() {File file1 = new File(\"Hi.txt\");if (!file1.exists()) {try {boolean newFile = file1.createNewFile();if (newFile) System.out.println(\"创建成功\");} catch (IOException e) {e.printStackTrace();}}else {boolean delete = file1.delete();if (delete) System.out.println(\"删除成功\");}}

文件目录的创建:

public void test7() {File file1 = new File(\"F:\\\\OfficeFile\\\\JAVA_IO\\\\IO01\\\\io03\");boolean mkdir = file1.mkdir();if (mkdir) System.out.println(\"创建成功1\");File file2 = new File(\"F:\\\\OfficeFile\\\\JAVA_IO\\\\IO02\\\\io04\");boolean mkdirs = file2.mkdirs();if (mkdirs) System.out.println(\"创建成功2\");}

FIle

类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用

IO

流来完成。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » JAVA_基础IO流(一)