(40)Java学习笔记——IO流技术 / File类
来源:互联网 发布:单片机乐谱 编辑:程序博客网 时间:2024/05/02 02:25
类 File
文件和目录路径名的抽象表示形式。
构造方法:public File(String pathname) //根据一个路径得到File对象
public File(String parent, String child) //根据一个目录和一个子文件(子目录)得到File对象
public File(File parent , String child) //根据一个父File对象 和 一个子文件(子目录)得到File对象
范例:
package cn.itcast_01;import java.io.File;/* * File 类 * 构造方法:public File(String pathname) //根据一个路径得到File对象public File(String parent, String child) //根据一个目录和一个子文件(子目录)得到File对象public File(File parent , String child) //根据一个父File对象 和 一个子文件(子目录)得到File对象 */public class FileDemo {public static void main(String[] args) {//public File(String pathname) //根据一个路径得到File对象File file = new File("D:\\demo\\a.txt");//只是一个抽象的指向对象(不负责创建等其他功能)//public File(String parent, String child) //根据一个目录和一个子文件(子目录)得到File对象File file2 = new File("D:\\demo","a.txt");//public File(File parent , String child) //根据一个父File对象 和 一个子文件(子目录)得到File对象File file3 = new File("E:\\demo");File file4 = new File(file3,"a.txt");//以上三种方式效果一样}}
成员方法:
创建功能:
public boolean createNewFile() //创建一个新文件,如果存在就不创建了
public boolean mkdir() // 创建一个文件夹,如果存在就不创建了
public boolean mkdirs() // 创建一个文件夹,并创建不存在的父文件夹
注意:如果创建文件或文件夹没有写盘符路径,就会默认在项目路径下。
删除功能:
public boolean delete() //
注意:要删除一个文件夹,该文件夹内不能包含文件或者文件夹
重命名功能
public boolean renameTo(File dest)
注意:如果路径名相同,就是改名
如果路径名不同,就是改名并剪切。
范例:
package cn.itcast_02;import java.io.File;import java.io.IOException;/* * File * 创建功能:public boolean createNewFile() //创建一个新文件public boolean mkdir() // 创建一个文件夹public boolean mkdirs() // 创建一个文件夹,并创建不存在的父文件夹删除功能:public boolean delete()重命名功能public boolean renameTo(File dest) */public class FileDemo {public static void main(String[] args) throws IOException {//这里会需要抛出异常//需求:在G盘JavaWorkPlace目录下创建一个文件夹demo//public boolean mkdir() // 创建一个文件夹File file = new File ("G:\\JavaWorkPlace\\demo");System.out.println("mkdir:"+file.mkdir());//需求:在G盘JavaWorkPlace目录下创建一个a.txt文件//public boolean createNewFile() //创建一个新文件File file2 = new File("G:\\JavaWorkPlace\\demo\\a.txt");System.out.println(file2.createNewFile());//这里会需要抛出异常//需求:在G盘JavaWorkPlace目录下test目录下创建一个文件b.txtFile file3 = new File("G:\\JavaWorkPlace\\test");System.out.println(file3.mkdir());File file4 = new File("G:\\JavaWorkPlace\\test\\b.txt");System.out.println(file4.createNewFile());//需求:在G盘JavaWorkPlace目录下test2目录下创建aaa目录File file5 = new File("g:\\JavaWorkPlace\\test2\\aaa");System.out.println(file5.mkdirs());//需求:删除G盘JavaWorkPlace目录下test目录下创建一个文件b.txtFile file6 = new File("G:\\JavaWorkPlace\\test\\b.txt");System.out.println(file6.delete());//需求:重命名G盘JavaWorkPlace目录下test2目录下aaa目录成bbbFile newFile = new File("g:\\JavaWorkPlace\\test2\\bbb");//注意,要先指向位置System.out.println(file5.renameTo(newFile));}}
判断功能:
public boolean isDirectory() //判断是否是文件夹
public boolean isFile() //判断是否是文件
public boolean exists() //判断是否存在
public boolean canRead() //判断是否可读
public boolean canWrite() //判断是否可写
public boolean isHidden() //判断是否隐藏
范例:
package cn.itcast_03;import java.io.File;/* * 判断功能:public boolean isDirectory() //判断是否是文件夹public boolean isFile() //判断是否是文件public boolean exists() //判断是否存在public boolean canRead() //判断是否可读public boolean canWrite() //判断是否可写public boolean isHidden() //判断是否隐藏 */public class FileBooleanDemo {public static void main(String[] args) {//创建文件对象File file = new File("a.txt");//public boolean isDirectory() //判断是否是文件夹System.out.println(file.isDirectory());//falseSystem.out.println(file.isFile());//true}}获取功能:
基本获取功能:
public String getAbsoluePath() //获取绝对路径
public String getPath() //获取相对路径
public String getName() //获取名称
public long length() //获取长度。字节数
public long lastModified() //获取最后一次的修改时间,返回毫秒值
范例:
package cn.itcast_04;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;/* * 获取功能:基本获取功能:public String getAbsoluePath() //获取绝对路径public String getPath() //获取相对路径public String getName() //获取名称public long length() //获取长度。字节数public long lastModified() //获取最后一次的修改时间,返回毫秒值 */public class FileGetDemo {public static void main(String[] args) {//创建文件对象File file = new File("demo\\test.txt");//public String getAbsoluePath() //获取绝对路径System.out.println(file.getAbsolutePath()); //G:\JavaWorkPlace\page40_File\demo\test.txt//public String getPath() //获取相对路径System.out.println(file.getPath()); //demo\test.txt//public String getName() //获取名称System.out.println(file.getName());//test.txt//public long length() //获取长度。字节数System.out.println(file.length());//5//public long lastModified() //获取最后一次的修改时间,返回毫秒值System.out.println(file.lastModified());//1487229623508//解析时间Date d = new Date(1487229623508L);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String s = sdf.format(d);System.out.println(s); //2017-02-16 15:20:23}}
高级获取功能:
public String[ ] list() //返回一个字符串数组,获取指定目录下的所有文件或者文件夹名称数组。
public File[ ] listFiles()//返回一个抽象路径名数组,获取指定目录下的所有文件或者文件夹的File数组
范例:
package cn.itcast_04;import java.io.File;/* * public String[ ] list() //返回一个字符串数组,获取指定目录下的所有文件或者文件夹名称数组。public File[ ] listFiles()//返回一个抽象路径名数组,获取指定目录下的所有文件或者文件夹的File数组 */public class FileGetDemo02 {public static void main(String[] args) {//指定一个目录File file = new File("g:\\");// * public String[ ] list() //返回一个字符串数组,获取指定目录下的所有文件或者文件夹名称数组。String[] array = file.list();for(String s : array){System.out.println(s);}/*返回结果:$RECYCLE.BINJavaWorkPlaceSteamLibrarySystem Volume InformationVirtual MachinesVXdata筑翎工作*///public File[ ] listFiles()//返回一个抽象路径名数组,获取指定目录下的所有文件或者文件夹的File数组File[] fileArray = file.listFiles();for(File s : fileArray){System.out.println(s);}/*返回结果:g:\$RECYCLE.BINg:\JavaWorkPlaceg:\SteamLibraryg:\System Volume Informationg:\Virtual Machinesg:\VXdatag:\筑翎工作*/}}
练习:判断G盘目录下是否有后缀名为.jpg的文件,如果有,就输出次文件名称
方式思路一:先获取所有的,然后遍历的时候,依次判断,如果满足条件就输出
package cn.itcast_05;import java.io.File;/* * 练习:判断G盘目录下是否有后缀名为.jpg的文件,如果有,就输出次文件名称 * 思路: * A / 封装G判断目录 * B / 获取该目录下所有文件或者文件家的File数组 * C / 遍历该数组,得到每一个File对象, * D / 是否是文件 * 是:继续判断是否以.jpg结尾 * 是:输出该文件 * 否:不搭理 * 否:不搭理 */public class FileTest_01 {public static void main(String[] args) {//创建文件对象File file = new File("g:\\");//获取该目录下所有文件或者文件家的File数组File[] fileArray = file.listFiles();//遍历该数组,得到每一个File对象,for (File f : fileArray){//判断是不是文件if(f.isFile()){//判断是不是.jpg结尾if (f.getName().endsWith(".jpg")){//输出该文件名称System.out.println(f.getName());}}}}}方式思路二:获取的收就已经满足条件了,然后输出
使用文件过滤器
接口 FilenameFilter
public String[]list(FilenameFilter filter)
public File[]listFiles(FilenameFilter filter)
范例:
package cn.itcast_05;import java.io.File;import java.io.FilenameFilter;/* * 练习:判断G盘目录下是否有后缀名为.jpg的文件,如果有,就输出次文件名称 * 用接口FilenameFilterpublic String[] list(FilenameFilter filter)public File[] listFiles(FilenameFilter filter) * 思路: * A / 封装G判断目录 * B / 获取该目录下所有文件或者文件家的File数组 * C / 遍历该数组,得到每一个File对象, * D / 是否是文件 * 是:继续判断是否以.jpg结尾 * 是:输出该文件 * 否:不搭理 * 否:不搭理 */public class FileTest_3 {public static void main(String[] args) {//创建文件对象File file = new File("g:\\");//获取该目录下所有文件或者文件夹的String数组String[] strArray = file.list(new FilenameFilter(){@Overridepublic boolean accept(File dir, String name) { //accept是实现类//在这个位置进行条件判断File file = new File(dir,name);boolean flag = file.isFile();boolean flag2 = name.endsWith(".jpg");return flag && flag2;}});//遍历for(String s: strArray){System.out.println(s);}}}练习02:
package cn.itcast_06;import java.io.File;/* * 批量修改文件名称 * F:\IDM\MySQL * 需求:把这个下面的视频名称修改为00?_介绍.wmv * 思路: * A / 封装目录 * B / 遍历该File数组,得到每一个File对象 * C / 拼接一个新名称,然后重命名 */public class FileTest_01 {public static void main(String[] args) {//封装目录File srcFolder = new File("F:\\IDM\\MySQL");//获取该目录下文件的File数组File[] fileArray = srcFolder.listFiles();//遍历该File数组,得到每一个File对象for (File file : fileArray){//F:\IDM\MySQL\三通it学院-www.santongit.com-050-动力节点-MYSQL视频-练习题.wmv//改后:F:\IDM\MySQL\050-动力节点-MYSQL视频-练习题.wmvString name = file.getName();int startIndex = name.indexOf("0");String newName = name.substring(startIndex);System.out.println(newName);File newFile = new File(srcFolder,newName);//重名即可file.renameTo(newFile);}}}
0 0
- (40)Java学习笔记——IO流技术 / File类
- (41)Java学习笔记——IO流技术 / 递归
- IO流学习笔记1——File类
- Java.io.File类学习笔记
- j2se学习笔记-java.io.File类
- java IO流中File类的学习笔记
- Java学习笔记之IO流中的File类
- IO流的学习—File类
- java学习笔记IO输入与输出——File类及IO其它类(4)
- Kotlin学习笔记——标准库kotlin.io / java.io.File
- JAVA:IO流——File类
- java Io File类 笔记
- Java IO学习笔记(一):File类
- Java IO学习笔记(一):File类
- Java IO学习笔记(一):File类
- Java学习笔记之IO(一):File类的用法
- java IO 学习笔记之FIle
- Java.IO包-File 学习笔记
- oozie hdfs demo
- iOS开发 cocoaPod和Carthage的安装与使用
- SQL Server-聚焦事务对本地变量、临时表、表变量影响以及日志文件存满时如何收缩(三十一)
- 数据仓库中的Inmon与Kimball架构之争
- jQuery学习 五 jQuery Ajax
- (40)Java学习笔记——IO流技术 / File类
- 真正与Activity能交互的回调以及Activity退入后台方法
- cocos-JS开发笔记集合
- Android Studio中依赖Jar详解
- STL之set
- PHP操作sql数据库
- Anroid中MediaMuxer,MediaCodec,MediaExtractor用例
- iOS报-[__NSDictionaryI objectAtIndexedSubscript:]: unrecognized selector sent to instance 0x15f762920
- java中的compareto方法