您现在的位置是:主页 > news > 怎样做网站测试/传媒网站
怎样做网站测试/传媒网站
admin2025/4/29 1:16:37【news】
简介怎样做网站测试,传媒网站,百度网盟推广多少钱,wordpress免费sliderFile 类 在进行文件操作时,需要知道一些关于文件的信息。 File 类提供给了一些方法来操纵文件 和获取文件的信息。对于目录, Java 把它当做一种特殊类型的文件,即文件名单列表。 File 类直接处理文件和文件系统。 通过 File 类的方法&#…
File 类
在进行文件操作时,需要知道一些关于文件的信息。 File 类提供给了一些方法来操纵文件 和获取文件的信息。对于目录, Java 把它当做一种特殊类型的文件,即文件名单列表。
File 类直接处理文件和文件系统。 通过 File 类的方法,可以得到文件或者目录的描述信息,包括名称, 所在路径, 读写性, 长度等。还可以创建目录,创建文件,改变文件名,删除文件,列出目录中的文件等。
File 类的声明如下:
public class File extends Object implements Serializable
构造方法:
File(String path);
File(String dir, String filename);
File(File dir, String filename);
File(URI uri);
其中 ,dir 是文件所在的目录,filename 是文件名,path 是文件的路径名。
File f1 = new File("D:/Java");
File f2 = new File("D:/Java", "test.txt");
File f3 = new File(f1,"test.txt");
File f4 = new File("file://D:/Java/test.txt");
注意: Java 能正确处理 Unix 和 Windows/Dos 约定的路径分隔。 如果在Windows 版本的 Java 下用斜线(/),路径处理依然正确。 记住,如果在 Windows/Dos 系统中使用反斜线(\)则需要在字符串内使用它的转义序列(\)Java 约定用 UNIX 和 URL 风格的斜线来作路径分隔符。
File 定义了很多获取 File 对象标准属性的方法。 例如:getName() 返回文件名,getParent() 返回父目录名, exists() 在文件存在的情况下返回 true, 否则返回 false.
File 类提供的方法:
创建一个文件对象后, 可以用 File 类提供的方法来获得文件相关信息,对文件进行操作。
方法 | 描述 |
---|---|
boolean canRead() | 测试文件是否可读 |
boolean canWrite() | 测试文件是否可写 |
int compareTo(File pathname) | 比较两个文件的名称 |
boolean createNewFile() | 创建文件 |
static File createTempFile(String prefix, String suffix) | 在默认的临时文件目录创建一些空文件 |
boolean delte() | 删除文件 |
void deleteOnExit() | 在 Java 虚拟终端机终止时删除与调用对象相关的文件 |
boolean equals(Object obj) | 比较两个文件对象 |
boolean exists() | 测试文件是否存在 |
File getAbsoluteFile() | 返回绝对文件名 |
String getAbsolutePath() | 返回绝对路径 |
String getCanonicalPath() | 返回规范的路径字符串 |
String getName() | 返回文件名(不包括路径) |
String getParent() | 返回父目录 |
String getPath() | 返回路径 |
boolean isAbsolute() | 是否为绝对路径 |
boolean isDirectory() | 是否为目录 |
boolean isFile() | 是否为文件 |
boolean isHidden() | 是否隐藏文件 |
long lastModified() | 上次修改时间,从 1970 年 1 月 1 日 开始的标准时间的毫秒数 |
long length() | 文件长度 |
String[] list() | 列出目录中的文件 |
String[] list(FilenameFilter filter) | 使用过滤器列出目录中的文件 |
static File[] listRoots() | 列出所有的根目录 |
boolean mkdir() | 创建目录 |
boolean mkdirs() | 创建多层目录 |
boolean renameTo(File dest) | 重命名文件 |
boolean setLastModified(long time) | 设置上次修改时间 |
boolean setReadOnly() | 设置为只读 |
String toString() | 把文件对象转化成字符串 |
URi toURI() | 把文件对象转化成 URI 对象 |
URL toURL() | 把文件对象转化成 URL 对象 |
import java.io.File;
import java.io.IOException;
public class FileDemo {public static void main(String[] args) throws IOException{System.out.println("path separator: "+ File.pathSeparator);System.out.println("path separator char: "+ File.pathSeparator);System.out.println("separator: "+ File.separator);System.out.println("separator char: "+ File.separatorChar);File dir = new File("D:\\JAVA\\Java File");File f = new File(dir, "FileDemo.class");File path = new File("D:\\JAVA\\Java File\\FileDemo.class");File f2 = new File("file:\\D:\\JAVA\\Java%20File\\FileDemo.class");System.out.println("");System.out.println(f);System.out.println("exist: " + f.exists());System.out.println("name: " + f.getName());System.out.println("path: " + f.getPath());System.out.println("absolute path: " + f.getAbsolutePath());System.out.println("parent: " + f.getParent());System.out.println("is a file: " + f.isFile());System.out.println("is a dir: " + f.isDirectory());System.out.println("length: " + f.length());System.out.println("can read: " + f.canRead());System.out.println("can write: " + f.canWrite());System.out.println("last Modified: " + f.lastModified());f.setLastModified(f.lastModified() + 1102304);System.out.println("last Modified: " + f.lastModified());System.out.println("Canonical Path: " + f.getCanonicalPath());File newF = new File("newFile.class");System.out.println("----Rename " + f + " ------");f.renameTo(newF);System.out.println("name: " + newF.getName());System.out.println(f + " exist? " + f.exists());System.out.println(newF +" exist? " + f.exists());System.out.println("convert to URI" + f.toURI());System.out.println("compare f to path:" + f.compareTo(path));System.out.println("compare f to f2:" + f.compareTo(f2));System.out.println("---- delete "+ newF + " ------");newF.delete();System.out.println(newF + " exist? "+ newF.exists());}}
// path separator: ;
// path separator char: ;
// separator: \
// separator char: \// D:\JAVA\Java File\FileDemo.class
// exist: true
// name: FileDemo.class
// path: D:\JAVA\Java File\FileDemo.class
// absolute path: D:\JAVA\Java File\FileDemo.class
// parent: D:\JAVA\Java File
// is a file: true
// is a dir: false
// length: 0
// can read: true
// can write: true
// last Modified: 1531019202728
// last Modified: 1531020305032
// Canonical Path: D:\JAVA\Java File\FileDemo.class
// ----Rename D:\JAVA\Java File\FileDemo.class ------
// name: newFile.class
// D:\JAVA\Java File\FileDemo.class exist? true
// newFile.class exist? true
// convert to URIfile:/D:/JAVA/Java%20File/FileDemo.class
// compare f to path:0
// compare f to f2:-2
// ---- delete newFile.class ------
// newFile.class exist? false
目录
目录是一个包含其他文件和路径列表的 File 类。当创建一个 File 对象 且 它是 目录时,则 isDirectory() 方法返回 true 。 在这种情况下, 可以调用该对象的 list() 方法来提取该目录内部其他文件和目录的列表 。 该方法有两种形式:
第一种:文件名列表在一个 String 对象的数组中返回
String[] list();
第二种:文件对象列表在 一个 File 对象的数组中返回。
File[] listFiles();
有时 需要列出目录下制定类型的文件,比如. java、.class 等扩展名的文件。可以使用 File 类的 下述 3 个方法,列出制定类型的文件。
String[] list(FilenameFilter FFObj);
File[] listFiles(FilenameFilter FFObj);
file[] listFiles(FileFilter FObj);
第一种方法用 字符串形式返回目录下指定类型的文件;
第二种方法用 File 对象数组 的形式 返回目录下的指定类型的文件;
第三种方法也是用 File 对象数组的形式返回目录下的指定类型的文件,和第二种方法不同的是,其参数类型不同。
参数 FFObj 是一个实现 FilenameFilter 接口的类的对象。
FilenameFilter 仅定义了一个方法,即 accept(). 调用 list 方法 列出文件时,将调用 accept() 方法检查该文件名称是否符合 accept 方法指定的名字要求。其一般形式如下:
boolean accept(File directory, String filename);
如果 返回 true ,则名称为 filename 的文件包含在 返回列表中; 反之,不包含在返回列表中。
FObj 是一个实现了 FileFilter 接口的类的对象。 FileFilter 只定义了一个 accept() 方法,该方法针对目录中的每一个文件调用一次,它不仅可以根据文件名过滤文件,也可以根据文件的其他信息过滤文件。 其一般形式如下:
boolean accept(File path);
如果 返回值是 true,则 path 代表的文件包含在返回列表中;反之,不包含在返回列表中。
import java.io.File;
import java.io.FileFilter;
public class FileDemo {public static void main(String[] args) {File dir = new File("D:\\JAVA\\Java File");System.out.println("列出目录 " + dir + " 中的 class 文件:");Filter filter = new Filter("class");File fs1[] = dir.listFiles(filter);display(fs1);System.out.println("列出目录 " + dir + "中的 子目录");DirFilter filter2 = new DirFilter();File fs2[] = dir.listFiles(filter2);display(fs2);// 创建一个子目录:File f = new File(fs2[0].getPath() + "_newDir");System.out.println(f.mkdir());File fs3[] = dir.listFiles(filter2);display(fs3);}public static void display(File[] fs){for (int i = 0; i< fs.length; i++){if(fs[i].isDirectory()){System.out.println("目录:" + fs[i]);}else{System.out.println("文件:" + fs[i]);}}System.out.println(" ");}}public class Filter implements FilenameFilter{String extent;Filter( String extent){this.extent = extent;}public boolean accept(File dir, String name){return name.endsWith("." + extent);}
}public class DirFilter implements FileFilter {public boolean accept(File path){return path.isDirectory();}
}
// 列出目录 D:\JAVA\Java File 中的 class 文件:
// 文件:D:\JAVA\Java File\Exam.class
// 文件:D:\JAVA\Java File\FileDemo.class
// 文件:D:\JAVA\Java File\Graph.class// 列出目录 D:\JAVA\Java File中的 子目录
// 目录:D:\JAVA\Java File\class
// 目录:D:\JAVA\Java File\class_newDir
// 目录:D:\JAVA\Java File\history
// 目录:D:\JAVA\Java File\src// false
// 目录:D:\JAVA\Java File\class
// 目录:D:\JAVA\Java File\class_newDir
// 目录:D:\JAVA\Java File\history
// 目录:D:\JAVA\Java File\src