恶补Java---JavaI/O部分之File类的用法(笔记)
在java中,I/O(输入/输出)是比较乏味的事情,因为看不到明显的运行效果,但输入/输出是所有程序都必需的部分——使用输入机制,允许程序读取外部数据(包括来自磁盘、光盘等存储设备的数据)、用户输入数据;使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘、光盘等存储设备中。
Java的I/O通过java.io包下的类和接口来支持,在java.io包下主要包括输入、输出两种IO流,每种输入、输出流又可分为字节流和字符流两大类。其中字节流以字节为单位来处理输入、输出操作,而字符流则以字符来处理输入、输出操作。
Java的IO流使用了一种装饰器设计模式,它将IO流分为底层节点流和上层处理流,其中节点流用于和底层的物理存储节点直接关联——不同的物理节点获取节点流的方式可能存在一定的差异,但程序可以把不同的物理节点流包装成统一的处理流,从而允许程序使用统一的输入。输出代码来读取不同的物理存储节点的资源。
下面主要通过一个类来记录此部分知识点,具体代码如下:
package com.gc.test; import java.io.File; import java.util.Date; /** * * @author Android将军 * */ /* * File类是java.io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File *类来完成。值得指出的是,不管是文件还是目录都是使用File来操作的,File能新建、删除、重命名文件和目录,File *不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。 * 一旦创建了File对象后,就可以调用File对象的方法来访问,File类提供了很多方法来操作文件和目录。 */ public class FileStudy { private static File file; /** * 传入指定目录的文件或目录,获取该对象的详细信息 * @param uri 传入的文件路径或文件目录 */ public static void createSysout(String uri) { file=new File(uri); if(file.isFile())//判断File对象所对应的是否是文件,而不是目录 { //返回此File对象所表示的文件名 System.out.println("文件名:"+file.getName()); //返回此File对象所对应的路径名 System.out.println("文件路径:"+file.getPath()); //返回此File对象所对应的绝对路径所对应的File对象 System.out.println("该文件所对应的绝对路径所对的File的名字:"+file.getAbsoluteFile().getName()); //返回此File对象所对应的绝对路径名。 System.out.println(file.getAbsolutePath()); //返回此File对象所对应目录(最后一级子目录)的父目录名. System.out.println(file.getParent()); //重命名此File对象所对应的文件或目录,如果重命名成功,则返回true,否则返回false // System.out.println(file.renameTo(new File("TestNewName.txt")));//重命名之后,该file所对应的文件就没有了。 //判断File对象所对应的文件或目录是否存在 System.out.println("文件是否存在:"+file.exists()); //判断File对象所对应的文件和目录是否可写 System.out.println("文件是否可写:"+file.canWrite()); //判断File对象所对应的文件和目录是否可读 System.out.println("文件是否可读:"+file.canRead()); //判断File对象所对应的是否是目录,而不是文件 System.out.println("该对象是否为目录:"+file.isDirectory()); //判断File对象所对应的文件或目录是否是绝对路径。该方法消除了不同平台的差异,可以直接判断File对象是否为绝对路径。 //在Unix/Linux/BSD等系统上,如果路径名开头是一条斜线(/),则表明该File对象对应一个绝对路径;在Windows等系统上,如果路径开头 //是盘符,则说明它是一个绝对路径。 System.out.println("是否为绝对路径:"+file.isAbsolute()); System.out.println("文件的最后修改时间:"+new Date(file.lastModified()).toString()); System.out.println("文件内容的长度:"+file.length()); } } }
Ps:文中文字部分大部分摘自于《疯狂Java讲义》,此博文仅记录File类部分的知识点。
转载请注明本文出处:http://blog.csdn.net/android_jiangjun/article/details/41683915
时间: 2024-10-12 17:27:05