一篇文章快速了解Java中的IO流
一. File类1.简单介绍
File类的篇文一个对象既能代表一个特定的文件的名称,又能代表一个目录下的章快中一组文件的名称。 File 能新建、速解删除、篇文重命名文件和目录,章快中但 File 不能访问文件内容本身。速解如果需要访问文件内容本身,篇文则需要使用输入/输出流。章快中 想要在Java程序中表示一个真实存在的速解文件或目录,那么必须有一个File对 象,篇文但是章快中Java程序中的一个File对象,可能没有一个真实存在的速解文件或目录。 后续File类的篇文对象常会作为参数传递到流的构找器中,指明读取或写入的香港云服务器章快中"终点"。2.基本用法在文件系统中,速解每个文件都存放在一个目录下。绝对文件名( absolute file name) 是由文件名和它的完整路径以及驱动器字母组成。相对文件名是相对于当前工作目录的。例如,c:\book\Welcome.java 是文件Welcome.java 在 Windows 操作系统上的绝对文件名。Welcome.java 是一个相对文件名。
windows和DOS系统默认使用“\”来表示 UNIX和URL使用“/”来表示 Java程序支持跨平台运行,因此路径分隔符要慎用。为了解决这个隐患,File类提供了一个常量: public static final String separator。根据操作系统,动态的提供分隔符。 File file = new File("D:"+File.separator +"JavaSE"+File.separator +"JavaProject");
2.1 构造方法
public File(String pathname) 以pathname为路径创建File对象,可以是服务器租用绝对路径或者相对路径 public File(String parent,String child)以parent为父路径,child为子路径创建File对象。 public File(File parent,String child)根据一个父File对象和子文件路径创建File对象 //构造器一 :public File(String pathname) File file1 = new File("hello.txt");//相对路径 File file2 = new File("D:\\JavaSE\\JavaProject\\WorkSpace\\ioDemo\\hi.txt");//绝对路径 System.out.println(file1); System.out.println(file2); //构造器二:public File(String parent,String child) File file3 = new File("D:\\JavaSE", "JavaProject"); System.out.println(file3); //构造器三:public File(File parent,String child) File file4 = new File(file3, "he.txt"); System.out.println(file4);输出结果:
2.2 常用方法2.2.1 File类的获取功能
public String getAbsolutePath():获取绝对路径 public String getPath() :获取路径 public String getName() :获取名称 public String getParent():获取上层文件目录路径。若无,返回null,若文件对象中是相对路径,则返回null; public long length() :获取文件长度(即:字节数)。不能获取目录的长度。 public long lastModified() :获取最后一次的修改时间,毫秒值,若该文件不在硬盘中真实存在,返回0。 public String[] list() :获取指定目录下的所有文件或者文件目录的名称数组 public File[] listFiles() :获取指定目录下的所有文件或者文件目录的File数组 @Test public void test4() { File file1 = new File("hello.txt");//不存在,只是一个对象 File file2 = new File("D:\\io\\hi.txt");//在硬盘存在 System.out.println(file1.getAbsolutePath()); System.out.println(file1.getPath()); System.out.println(file1.getName()); System.out.println(file1.getParent()); System.out.println(file1.length()); System.out.println(file1.lastModified()); System.out.println("