网站申请鹤山市网站建设公司
网站申请,鹤山市网站建设公司,微博营销的特点,wordpress问题解决文章目录 概述构造器常用方法1、获取文件和目录基本信息2、列出目录的下一级3.File类的重命名功能4、判断功能的方法5、创建、删除功能 练习 概述
File类及本章下的各种流#xff0c;都定义在java.io包下。一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录#… 文章目录 概述构造器常用方法1、获取文件和目录基本信息2、列出目录的下一级3.File类的重命名功能4、判断功能的方法5、创建、删除功能 练习 概述
File类及本章下的各种流都定义在java.io包下。一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录俗称文件夹与平台无关。体会万事万物皆对象File 能新建、删除、重命名文件和目录但 File 不能访问文件内容本身。如果需要访问文件内容本身则需要使用输入/输出流。 File对象可以作为参数传递给流的构造器。 想要在Java程序中表示一个真实存在的文件或目录那么必须有一个File对象但是Java程序中的一个File对象可能没有一个真实存在的文件或目录。
构造器
public File(String pathname) 以pathname为路径创建File对象可以是绝对路径或者相对路径如果pathname是相对路径则默认的当前路径在系统属性user.dir中存储。public File(String parent, String child) 以parent为父路径child为子路径创建File对象。public File(File parent, String child) 根据一个父File对象和子文件路径创建File对象
关于路径
**绝对路径**从盘符开始的路径这是一个完整的路径。**相对路径**相对于项目目录的路径这是一个便捷的路径开发中经常使用。 IDEA中main中的文件的相对路径是相对于当前工程IDEA中单元测试方法中的文件的相对路径是相对于当前module
import org.junit.Test;import java.io.File;
import java.io.IOException;
public class FileObjectTest {public static void main(String[] args) {// 文件路径名String pathname D:\\aaa.txt;File file1 new File(pathname);// 文件路径名String pathname2 D:\\aaa\\bbb.txt;File file2 new File(pathname2);// 通过父路径和子路径字符串String parent d:\\aaa;String child bbb.txt;File file3 new File(parent, child);System.out.println(file3);File parentDir new File(d:\\aaa);String childFile bbb.txt;File file4 new File(parentDir, childFile);}Testpublic void test01() throws IOException {File f1 new File(d:\\dic\\javase\\HelloIO.java); //绝对路径System.out.println(文件/目录的名称 f1.getName());System.out.println(文件/目录的构造路径名 f1.getPath());System.out.println(文件/目录的绝对路径名 f1.getAbsolutePath());System.out.println(文件/目录的父目录名 f1.getParent());}Testpublic void test02()throws IOException{File f2 new File(/HelloIO.java);//绝对路径从根路径开始System.out.println(文件/目录的名称 f2.getName());System.out.println(文件/目录的构造路径名 f2.getPath());System.out.println(文件/目录的绝对路径名 f2.getAbsolutePath());System.out.println(文件/目录的父目录名 f2.getParent());}Testpublic void test03() throws IOException {File f3 new File(HelloIO.java);//相对路径System.out.println(user.dir System.getProperty(user.dir));System.out.println(文件/目录的名称 f3.getName());System.out.println(文件/目录的构造路径名 f3.getPath());System.out.println(文件/目录的绝对路径名 f3.getAbsolutePath());System.out.println(文件/目录的父目录名 f3.getParent());}Testpublic void test04() throws IOException{File f5 new File(HelloIO.java);//相对路径System.out.println(user.dir System.getProperty(user.dir));System.out.println(文件/目录的名称 f5.getName());System.out.println(文件/目录的构造路径名 f5.getPath());System.out.println(文件/目录的绝对路径名 f5.getAbsolutePath());System.out.println(文件/目录的父目录名 f5.getParent());}
}注意 无论该路径下是否存在文件或者目录都不影响File对象的创建。 window的路径分隔符使用“\”而Java程序中的“\”表示转义字符所以在Windows中表示路径需要用“\”。或者直接使用“/”也可以Java程序支持将“/”当成平台无关的路径分隔符。或者直接使用File.separator常量值表示。比如 File file2 new File(“d:” File.separator “path” File.separator “info.txt”); 当构造路径是绝对路径时那么getPath和getAbsolutePath结果一样 当构造路径是相对路径时那么getAbsolutePath的路径 user.dir的路径 构造路径 常用方法
1、获取文件和目录基本信息
public String getName() 获取名称public String getPath() 获取路径public String getAbsolutePath()获取绝对路径public File getAbsoluteFile()获取绝对路径表示的文件public String getParent()获取上层文件目录路径。若无返回nullpublic long length() 获取文件长度即字节数。不能获取目录的长度。public long lastModified() 获取最后一次的修改时间毫秒值 如果File对象代表的文件或目录存在则File对象实例初始化时就会用硬盘中对应文件或目录的属性信息例如时间、类型等为File对象的属性赋值否则除了路径和名称File对象的其他属性将会保留默认值。 import java.io.File;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;public class FileInfoMethod {public static void main(String[] args) {File f new File(d:/aaa/bbb.txt);System.out.println(文件构造路径:f.getPath());System.out.println(文件名称:f.getName());System.out.println(文件长度:f.length()字节);System.out.println(文件最后修改时间 LocalDateTime.ofInstant(Instant.ofEpochMilli(f.lastModified()),ZoneId.of(Asia/Shanghai)));File f2 new File(d:/aaa);System.out.println(目录构造路径:f2.getPath());System.out.println(目录名称:f2.getName());System.out.println(目录长度:f2.length()字节);System.out.println(文件最后修改时间 LocalDateTime.ofInstant(Instant.ofEpochMilli(f.lastModified()),ZoneId.of(Asia/Shanghai)));}
}输出结果
文件构造路径:d:\aaa\bbb.java
文件名称:bbb.java
文件长度:636字节
文件最后修改时间2022-07-23T22:01:32.065目录构造路径:d:\aaa
目录名称:aaa
目录长度:4096字节
文件最后修改时间2022-07-23T22:01:32.0652、列出目录的下一级
*public String[] list()返回一个String数组表示该File目录中的所有子文件或目录。 * public File[] listFiles() 返回一个File数组表示该File目录中的所有的子文件或目录。
import org.junit.Test;
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;public class DirListFiles {Test// 显示D盘下dir 里的文件和文件夹public void test01() {File dir new File(d:/dir);String[] subs dir.list();for (String sub : subs) {System.out.println(sub);}}}3.File类的重命名功能
public boolean renameTo(File dest):把文件重命名为指定的文件路径。
4、判断功能的方法
public boolean exists() 此File表示的文件或目录是否实际存在。public boolean isDirectory() 此File表示的是否为目录。public boolean isFile() 此File表示的是否为文件。public boolean canRead() 判断是否可读public boolean canWrite() 判断是否可写public boolean isHidden() 判断是否隐藏
import java.io.File;public class FileIs {public static void main(String[] args) {File f new File(d:\\aaa\\bbb.java);File f2 new File(d:\\aaa);// 判断是否存在System.out.println(d:\\aaa\\bbb.java 是否存在:f.exists());System.out.println(d:\\aaa 是否存在:f2.exists());// 判断是文件还是目录System.out.println(d:\\aaa 文件?:f2.isFile());System.out.println(d:\\aaa 目录?:f2.isDirectory());}
}5、创建、删除功能
public boolean createNewFile() 创建文件。若文件存在则不创建返回false。public boolean mkdir() 创建文件目录。如果此文件目录存在就不创建了。如果此文件目录的上层目录不存在也不创建。public boolean mkdirs() 创建文件目录。如果上层文件目录不存在一并创建。public boolean delete() 删除文件或者文件夹 删除注意事项① Java中的删除不走回收站。② 要删除一个文件目录请注意该文件目录内不能包含文件或者文件目录。
import java.io.File;
import java.io.IOException;public class FileCreateDelete {public static void main(String[] args) throws IOException {// 文件的创建File f new File(aaa.txt);System.out.println(aaa.txt是否存在:f.exists()); System.out.println(aaa.txt是否创建:f.createNewFile()); System.out.println(aaa.txt是否存在:f.exists()); // 目录的创建File f2 new File(newDir);System.out.println(newDir是否存在:f2.exists());System.out.println(newDir是否创建:f2.mkdir());System.out.println(newDir是否存在:f2.exists());// 创建一级目录File f3 new File(newDira\\newDirb);System.out.println(newDira\\newDirb创建 f3.mkdir());File f4 new File(newDir\\newDirb);System.out.println(newDir\\newDirb创建 f4.mkdir());// 创建多级目录File f5 new File(newDira\\newDirb);System.out.println(newDira\\newDirb创建 f5.mkdirs());// 文件的删除System.out.println(aaa.txt删除 f.delete());// 目录的删除System.out.println(newDir删除 f2.delete());System.out.println(newDir\\newDirb删除 f4.delete());}
}API中说明delete方法如果此File表示目录则目录必须为空才能删除。 练习 判断指定目录下是否有后缀名为.jpg的文件。如果有就输出该文件名称 public void test1(){File srcFile new File(d:\\code);String[] fileNames srcFile.list();for(String fileName : fileNames){if(fileName.endsWith(.jpg)){System.out.println(fileName);}}}//方法2Testpublic void test2(){File srcFile new File(d:\\code);File[] listFiles srcFile.listFiles();for(File file : listFiles){if(file.getName().endsWith(.jpg)){System.out.println(file.getAbsolutePath());}}}//方法3/** File类提供了两个文件过滤器方法* public String[] list(FilenameFilter filter)* public File[] listFiles(FileFilter filter)*/
Testpublic void test3(){File srcFile new File(d:\\code);File[] subFiles srcFile.listFiles(new FilenameFilter() {Overridepublic boolean accept(File dir, String name) {return name.endsWith(.jpg);}});for(File file : subFiles){System.out.println(file.getAbsolutePath());}}2.遍历指定目录所有文件名称包括子文件目录中的文件。 // 传入路径public static void printSubFile(File dir) {// 打印目录的子文件File[] subfiles dir.listFiles();for (File f : subfiles) {if (f.isDirectory()) {// 文件目录printSubFile(f);} else {// 文件System.out.println(f.getAbsolutePath());}}}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/90342.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!