【JavaSE笔记】IO(二)File类
来源:互联网 发布:考研数学辅导书 知乎 编辑:程序博客网 时间:2024/06/06 07:00
本期知识点
File
File
1.概述:
要学习IO流,就必须掌握硬盘上的路径表现形式。
Java就提供了一个File类。
是文件和目录路径的抽象表示形式。
2.构造方法:
public File(String pathname): 将该路径名称封装成了一个File实例
File(String parent, String child):将父文件夹或者目录里面的child文件封装成一个File实例
File(File parent, String child):根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
参数一:表示封装了File对象,该文件夹下的文件
import java.io.File;
public class File类的构造方法 {public static void main(String[] args) {//public File(String pathname):将该路径名称封装成了一个File实例File a = new File("e:\\File类的构造方法\\a\\a.txt");// File(String parent, String child):将父文件夹或者目录里面的child文件封装成一个File实例File b = new File("e:\\b\\b.txt");//File(File parent, String child:参数一:表示封装了File对象,该文件夹下的文件File c = new File("e:\\demo");File d = new File(c,"a.txt");}}
3.常用的成员方法
a.创建方法:
public boolean createNewFile() 表示创建文件,如果存在该文件,就不需要创建,会抛出异常!IOExceptionpublic boolean mkdir() 创建文件夹/目录,如果存在该文件夹,就不需要创建public boolean mkdirs() 创建文件夹/目录,如果不存在该目录,就创建!
b.删除方法:
public boolean delete() 删除此抽象路径名表示的文件或文件目录
注意:
i.如果我们在写路径的时候,没有带盘符,那么默认是在当前项目路径下ii.java中的删除不走回收站iii.delete不能删除带有内容的文件夹,只能逐个删除
c.重命名方法:
public boolean renameTo(File dest) 重命名
两个文件的路径一致的情况下,只是改名字两个文件的路径不一致的情况下,不但改名字,而且剪切
d.判断方法:
public boolean isAbsolute() 判断该路径是否是绝对路径public boolean isFile() 判断此文件是否为一个标准文件public boolean isHidden() 判断此抽象路径表示的文件是否是一个隐藏文件public boolean canRead() 可读public boolean canWrite() 可写
e.获取方法:
public String getAbsolutePath() 获取绝对路径public STring getPath() 获取相对路径public String getName() 获取文件或者目录的名称public long length() 获取文件的长度public long lastModified() 返回次抽象路径文件最后一次被修改的时间,返回的修改时间的一个毫秒值
import java.io.File;import java.io.IOException;//File类中常用的成员方法:// public boolean createNewFile():表示创建文件,如果存在该文件,就不需要创建,会抛出异常!IOException// public boolean mkdir():创建文件夹/目录,如果存在该文件夹,就不需要创建// public boolean mkdirs():创建文件夹/目录,如果不存在该目录,就创建!public class File类中常用的方法_创建 {public static void main(String[] args) throws IOException {//需求:在e盘下创建一个文件File a = new File("e:\\File类中常用的方法__创建\\b.txt");System.out.println(a.createNewFile());File b = new File("e:\\File类中常用的方法__创建");System.out.println(b.mkdir());File c = new File("e:\\File类中常用的方法__创建\\创建");System.out.println(c.mkdirs());}}
import java.io.File;import java.io.IOException;public class File类中常用的方法_删除 {public static void main(String[] args) throws IOException {File a = new File("a.txt");a.createNewFile();//没有盘符情况下创建目录File b = new File("aa\\bb\\cc");System.out.println("mkdirs:"+b.mkdirs());//删除aa目录System.out.println("delete:"+b.delete());//只能逐个删除File c = new File("aa\\bb");System.out.println("delete:"+c.delete());File d = new File("aa");System.out.println("delete:"+d.delete());}}
import java.io.File;public class File类中常用的方法_重命名 {public static void main(String[] args) {//封装当前项目下的图片文件File a = new File("R6S_Wallpaper-01_1920x1080.jpg");//新建一个File对象File b = new File("D:\\Pictures\\Saved Pictures\\YF.jpg");//调用重命名方法System.out.println("renameTo:"+a.renameTo(b));}}
import java.io.File;/*File类中提供了一些判断功能: public boolean isAbsolute():判断该路径是否是绝对路径 public boolean isFile()判断此文件是否为一个标准文件 public boolean isHidden():判断此抽象路径表示的文件是否是一个隐藏文件 public boolean canRead():可读 public boolean canWrite():可写*/public class File类中常用的方法_判断 {public static void main(String[] args) {//创建File文件对象File f = new File("f2.txt");System.out.println("isAbsolute:"+f.isAbsolute());System.out.println("isFile:"+f.isFile());System.out.println("isHidden:"+f.isHidden());System.out.println("canRead:"+f.canRead());System.out.println("canRead:"+f.canWrite());}}
import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;public class File类中常用的方法_获取 {public static void main(String[] args) {//封装路径File a = new File("aa\\a.txt");//public String getAbsolutePath():获取绝对路径System.out.println("getAbsolutePath:"+a.getAbsolutePath());//public STring getPath():获取相对路径System.out.println("getPath:"+a.getPath());//public String getName():获取文件或者目录的名称System.out.println("getName:"+a.getName());//public long length():获取文件的长度System.out.println("length:"+a.length());//public long lastModified():返回次抽象路径文件最后一次被修改的时间,返回的修改时间的一个毫秒值System.out.println("lastModified:"+a.lastModified());Date d = new Date(a.lastModified());SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String s = sd.format(d);System.out.println(s);}}
4.File类的高级获取功能:
public String[] list() 该方法是获取指定盘符下的所有的文件以及文件夹的名称数组public File[] listFiles() 获取指定盘符下的所有文件以及文件夹的File对象数组(常用)
import java.io.File;public class File类的高级获取功能 {public static void main(String[] args) {//需求获取F盘下所有的文件以及文件夹名称//将F盘的路径封装成一个File对象File a = new File("F:\\");//public String[] list():该方法是获取指定盘符下的所有的文件以及文件夹的名称数组String []sa = a.list();//增强for遍历for (String s : sa) {System.out.println(s);}System.out.println("-----------------");//public File[] listFiles():获取指定盘符下的所有文件以及文件夹的File对象数组(常用)File []fa = a.listFiles();//只要是对象就必须左非空判断if(fa!=null){for (File d : fa) {System.out.println(d.getName());}}}}
5.应用
判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称a.首先获取所有,然后遍历,判断,最终输出,使用文件名称过滤.
b.当我们获取的时候,就已经有结果,要想实现这样一样结果:就必须学习一个接口:
FilenameFileterpublic File[] listFiles(FileFilter filter)public String[] list(FilenameFilter filter)(这个文件名称过滤器中常用) 形式参数如果是一个接口对象:其实需要传递的是子实现类对象/匿名内部类
import java.io.File;public class 练习1_方式一 {public static void main(String[] args) {//把e盘封装成对象File f = new File("e:\\");//获取当前盘下所有文件夹以及文件的File数组File[] fa = f.listFiles();//非空判断if(fa!=null){for (File file : fa) {//判断是否为文件if(file.isFile()){//继续判断 是不是.jpgif(file.getName().endsWith(".jpg"));System.out.println(file.getName());}}}}}
import java.io.File;import java.io.FilenameFilter;/*方式2:当我们获取的时候,就已经有结果,要想实现这样一样结果:就必须学习一个接口:FilenameFileterpublic File[] listFiles(FileFilter filter)public String[] list(FilenameFilter filter)(这个文件名称过滤器中常用) 形式参数如果是一个接口对象:其实需要传递的是子实现类对象/匿名内部类*/ public class 练习1_方式二 {public static void main(String[] args) {//封装E盘File a = new File("e:\\");//获取当前盘符下所有文件以及文件夹的String数组String [] s = a.list(new FilenameFilter() {//File dir :指定的文件//name:文件名称列表@Overridepublic boolean accept(File dir, String name) {//System.out.println(dir+"---"+name);//创建File对象File f = new File(dir,name);//首先判断是否是文件boolean flag = f.isFile();//判断是否是.jpgboolean flag2 = name.endsWith(".jpg");return flag && flag2;}});for (String ss : s) {System.out.println(ss);}}}
阅读全文
0 0
- 【JavaSE笔记】IO(二)File类
- JAVASE自学笔记IO File
- javaSE-IO补充 File类
- JavaSE学习笔记--IO流和File
- Javase基础部分笔记之IO(二)
- 【javase复习】## day9 IO---- File类 ##
- JavaSE IO流( 3 ) File类
- JavaSE---IO流基础(异常、File类、递归)
- File类IO操作(二)
- IO流(二)File类
- JAVA【IO二】file类
- java Io File类 笔记
- JavaSE IO流 File文件操作基础知识
- javaSE学习笔记之IO
- JavaSE学习笔记之IO
- 【JavaSE笔记】IO(一)异常
- JAVASE学习笔记二
- JAVASE总结--File类
- RedHat7安装JDK1.8
- 3、操作系统内存管理——段页式(虚拟内存)
- 存储过程+事务
- TCP协议3次握手
- 学Java过程中最重要的8幅图,资深程序员都知道重要性
- 【JavaSE笔记】IO(二)File类
- Java中反射及动态编译
- Android 使用逐帧动画找不到标签
- 文章标题
- 程序员高逼格指南
- 【nyoj108】士兵杀敌一(线段树)
- POJ1236:Network of Schools(强连通)
- http状态码301和302详解及区别——辛酸的探索之路
- Gift