IO学习(二)File类
来源:互联网 发布:小说素材软件 编辑:程序博客网 时间:2024/05/17 04:10
java.io包的File类实现了Serializable和Comparable<File>接口
File对象既可以表示文件,也可以表示文件夹,都是可读可写的
要注意文件名的后缀和文件没有关系,只是需要用对应的软件打开文件
1.两个常用的常量
pathSeparator:路径分割符,也就是分号";"
separator:默认名称分隔符,windows下是"\",lunix下是"/"
有三种方法写文件路径
(1)String path="F:\\test.txt";
"\"是转义字符,所以需要两个"\\"
(2)String path2="F:"+File.separator+"test.txt";
可做到跨平台,因为File.separator根据平台的不同名称分隔符也不同
(3)String path3="F:/test.txt";
2.构造File对象
File类的构造方法有四种,如下图
使用绝对路径
String parentPath="F:/JAVA";String name="test.txt";File test=new File(parentPath,name);File test2=new File(test,"a.txt");File test3=new File("F:/JAVA/test.txt");
使用相对路径,注意如果在路径中没有盘符,文件则放在工程项目下
File test4=new File("q.txt");System.out.println(test4.getName());System.out.println(test4.getAbsolutePath());
qq.txt
D:\Myeclipse\Workspace\Bjsxt\qq.txt
下述方法实现前提:
File f=new File("F:/Java/test.txt");
该文件存在,且内容为aswdwdad
3.得到文件路径信息的方法
//返回名称System.out.println(f.getName());//test.txt//如果文件路径是绝对路径则返回完整路径,否则返回相对路径System.out.println(f.getPath());//F:\Java\test.txt//放回绝对路径(完整路径)System.out.println(f.getAbsolutePath());//F:\Java\test.txt//返回上一级目录,如果没有上一级返回空System.out.println(f.getParent());//F:\Java
4.判断文件(true/false)
//判断文件是否存在System.out.println(f.exists());//true//判断文件是否可读,可写canWrite() System.out.println(f.canRead());//true//判断文件路径是否为绝对路径,有盘符则为绝对路径System.out.println(f.isAbsolute());//true//判断是文件isFile还是文件夹isDirectorySystem.out.println(f.isDirectory());//false
5.返回文件长度,以字节为单位
文件内容为aswdwdad,长度为8个字节,注意如果是文件夹,字节数不为0,这里也返回0
即 只有文件才能读出长度,文件夹不可
System.out.println(f.length());//8
6.创建和删除文件
(1)创建文件createNewFile()
若文件已经存在,则创建会返回false,若文件名为操作系统关键字,比如con,也会返回false
(2)删除文件delete()
File f=new File("F:/Java/test.txt");if(!f.exists()){try {boolean flag = f.createNewFile();System.out.println(flag?"success":"fail");//fail} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}f.delete();
7.两个静态方法创建临时文件
File f1=File.createTempFile("wees", ".temp",new File("F:/JAVA"));//F:\JAVA\wees7063380687067821023.tempSystem.out.println(f1.getAbsolutePath());File f2=File.createTempFile("wes", ".temp");//C:\Users\wwyDEPP\AppData\Local\Temp\wes8047158297297613408.tempSystem.out.println(f2.getAbsolutePath());
当我们创建一个新的File对象,所给的路径不是根盘路径时,文件会自动放在项目文件夹下
但是使用静态方法创建一个临时文件,所给路径不是根盘路径时,文件是放在C盘下的某文件夹下的
这一点需要区分清楚
8.操作目录
(1)mkdir()创建目录,确保父目录存在,如果不存在,创建失败
(2)mkdirs()创建目录,如果父目录链不存在,一同创建
(3)list()输出目录文件夹下所包括的文件名
(4)listFiles()输出目录文件夹下所包括的文件
(5)listFiles(filter)输出目录文件夹下所包括的特定文件(.txt)
String path="F:/Picture/test";File file=new File(path);file.mkdir();System.out.println("输出目录文件夹下所包括的文件名");String path2="F:/Picture";File file2=new File(path2);if(file2.isDirectory()){String[] strs=file2.list();for(String s:strs){System.out.println(s);}}System.out.println("输出目录文件夹下所包括的文件");if(file2.isDirectory()){File[] files=file2.listFiles();for(File f:files){System.out.println(f.getAbsolutePath());}}System.out.println("输出目录文件夹下所包括的特定文件(.txt),命令设计模式");if(file2.isDirectory()){File[] files=file2.listFiles();files=file2.listFiles(new FilenameFilter(){@Overridepublic boolean accept(File dir, String name) {return new File(dir,name).isFile()&&name.endsWith(".txt");}});for(File f:files){System.out.println(f.getAbsolutePath());}}
输出结果:
输出目录文件夹下所包括的文件名EFI.pngNTFS.pngtesttest.txt输出目录文件夹下所包括的文件F:\Picture\EFI.pngF:\Picture\NTFS.pngF:\Picture\testF:\Picture\test.txt输出目录文件夹下所包括的特定文件(.txt),命令设计模式F:\Picture\test.txt
- IO学习(二)File类
- JAVA IO(二)File类详解
- Java学习—IO—File(二)
- File类IO操作(二)
- IO流(二)File类
- JAVA【IO二】file类
- file io流(二)
- Java IO流学习总结二:File
- IO流类学习--File
- JAVA\IO\File类学习
- java(I/O流二)java.io.File类
- IO学习(二)
- IO学习(二)
- IO(二) File类基本说明
- 【JavaSE笔记】IO(二)File类
- (总结)IO之File类<二>
- Java io详解(二)-File
- Java IO学习札记(File类的使用)
- 设计模式六大原则
- 啊哈!算法—纸牌游戏—小猫钓鱼
- Mac环境下服务器搭建
- C# 利用HttpListener监听处理Http请求
- 学习配置tomcat虚拟主机
- IO学习(二)File类
- Unity 服务器时间
- 343. Integer Break
- ZOJ3460 Missile 二分图拆点二分求解
- Android studio中正确引入so文件的方法
- 计算机网络(自顶向下方法)
- java GC机制的一些总结
- 【BZOJ1100】【POI2007】对称轴osi
- (BOOL)synchronize立即更新磁盘内容