------- android培训、java培训、期待与您交流! ----------
---------------------------------java.io.File(类)------------------------------------
java.io.File(类):代表磁盘上的一个文件或目录: 此类的一个对象,可以获取文件的大小、绝对路径、是否可读、是否可写.....
构造方法:
public File(String pathname):使用一个String封装的目录构造一个File对象
public File(String parent,String child):使用父级目录和子目录构造一个File
public File(File parent,String child):使用File表示的父目录和String的子目录构造一个File
绝对路径:带盘符的全路径的文件名;
相对路径:指在当前项目运行的目录下;
public class Demo { public static void main(String[] args) { File file = new File("C:\\test\\test.txt");// 使用绝对路径构造 File file2 = new File("test.txt");// 使用相对路径构造 File file3 = new File("C:\\test", "test.txt");// 此对象跟file表示的路径相同; File file4 = new File("C:\\test"); File file5 = new File(file4, "test.txt"); } }
File类的创建功能:
public boolean createNewFile():创建文件
public boolean mkdir():创建单级目录;
public boolean mkdirs():创建多级目录;
public class Demo { public static void main(String[] args) { File file = new File("demo30.txt"); try { System.out.println("创建文件:" + file.createNewFile()); } catch (IOException e) { e.printStackTrace(); } File file2 = new File("test\\aaaa"); // file2.createNewFile();//建立的仍然是文件 System.out.println("创建单级目录:" + file2.mkdir()); File file3 = new File("test2\\aaa2\\bbb2\\ccc2"); System.out.println("创建多级目录:" + file3.mkdirs()); } }
File类的删除功能:
public boolean delete():用于删除文件,和"空目录":不走Windows回收站;
注意:如果是多级目录,或者非空目录,一定要先清理目录下的所有内容后,才能删除,可以使用递归删除;
public class Demo { public static void main(String[] args) { File file = new File("demo30.txt"); System.out.println("删除文件:" + file.delete()); File file1 = new File("test"); System.out.println("删除目录:" + file1.delete()); } }
File类的重命名功能
public boolean renameTo(File dest):相同目录:重命名文件;不同目录:剪切,并重命名;
public class Demo { public static void main(String[] args) { File file = new File("C:\\test\\test.txt"); // System.out.println("重命名文件:" + file.renameTo(new File("C:\\test\\myFile.txt"))); System.out.println("重命名文件:" + file.renameTo(new File("myFile.txt"))); } }
File类的判断功能:
public boolean isDirectory():判断是否是目录
public boolean isFile():判断是否是文件
public boolean exists():文件或目录是否存在
public boolean canRead():是否可读;
public boolean canWrite():是否可写
public boolean isHidden():是否隐藏;
public class Demo { public static void main(String[] args) { File file = new File("Myfile.txt");// 对于文件名,这里和磁盘上的文件名不区分大小写; System.out.println("是否是一个目录:" + file.isDirectory()); System.out.println("是否是一个文件:" + file.isFile()); System.out.println("文件或目录是否存在:" + file.exists()); System.out.println("是否可读:" + file.canRead()); System.out.println("是否可写:" + file.canWrite()); System.out.println("是否隐藏:" + file.isHidden()); } }
File类的基本获取功能
public String getAbsolutePath():获取绝对路径;
public String getPath():获取File封装的路径;
public String getName():获取文件/目录的名称
public long length():获取文件/目录的大小;单位:字节
public long lastModified():获取文件/目录的最后修改时间;单位:毫秒
public class Demo { public static void main(String[] args) { File file = new File("C:\\20150822"); String[] fileArray = file.list(); for(String s : fileArray){ System.out.println(s); } System.out.println("-----------------------------------------------------"); File[] fileArray2 = file.listFiles(); for(File f : fileArray2){ System.out.println(f.getAbsolutePath()); } } }
File类的高级获取功能:
public String[] list():获取当前目录下所有的文件、目录的名称;
public File[] listFiles():获取当前目录下所有文件、目录的File数组
这两个方法区别:
1.第一个方法简单的返回了此目录下所有文件/目录的"名称";
2.第二个方法是将目录下的每个文件/目录又封装为一个File对象,并存到一个File[]数组中。如果我们需要在获取后,对每个文件需要进一步的操作,可以使用此方法比较方便;
public class Demo { public static void main(String[] args) { File file = new File("myFile.txt"); System.out.println("绝对路径:" + file.getAbsolutePath()); System.out.println("File封装的路径:" + file.getPath()); System.out.println("文件名:" + file.getName()); System.out.println("文件大小:" + file.length() + " 字节"); System.out.println("最后修改时间:" + file.lastModified() + " 毫秒"); long time = file.lastModified(); Date date = new Date(time); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = sdf.format(date); System.out.println("最后修改时间:" + str); } }
File类的文件过滤器:
public String[] list(FilenameFilter filter):
public File[] listFiles(FilenameFilter filter):
public class Demo { public static void main(String[] args) { File file = new File("C:\\20150822"); String[] fileNameArray = file.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { // return false;//全不匹配 // return true;//全部匹配 // 写我们自己的匹配逻辑 // System.out.println("dir = " + dir + " name = " + name); File file = new File(dir, name);// 我们需要确定这个File要是一个文件,所以要构造一个File对象 if (file.isFile() && file.getName().endsWith(".java")) { return true; } return false; } }); for (String s : fileNameArray) { System.out.println(s); } } }
相关推荐
yum -y install docker-ce,安装高版本docke-ce,报错Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed,意思就是 containerd....
java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载
commons-fileupload-1.3.3.jar和commons-io-2.6.jar最新版本
JAVAcommons-fileupload-1.4.jar和commons-io-2.6.jar
用开源的FileUpload组件,可以很方便的给自己的系统添加功能强大的文件上传模块。 该资源文件是两个jar打包成的压缩文件。
java实现文件保存,接收所需的jar包,(commons-fileupload-1.2.1.jar,commons-io-2.0.1.jar),亲测可用
赠送jar包:jetty-io-9.4.43.v20210629.jar; 赠送原API文档:jetty-io-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-io-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-io-9.4.43.v20210629....
jar包分享,你懂的 com.springsource.org.apache.commons.io-1.4.0.jar
串口通讯需要的jar包,gnu.io.SerialPort; gnu.io.CommPortIdentifier; gnu.io.SerialPort; gnu.io.SerialPortEvent; gnu.io.SerialPortEventListener; gnu.io.UnsupportedCommOperationException; Copy RXTXcomm...
commons-fileupload-1.2.2.jar和commons-io.jar,用于java开发。
内含fastdfs-client-java-1.29-SNAPSHOT.jar、commons-io-2.4.jar、FastDFSClient.java、fdfs_client.conf
commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 案例上传: http://hi.baidu.com/lichao77821/blog
明明只是几个jar包,其他资源真坑爹,可惜不能设为0资源分! commons-fileupload-1.3.3.jar commons-io-2.5.jar 利用这两个jia包完成资源上传功能
beanutils-1.8.2.jar,commons-codec-1.4.jar,commons-collections-3.2.1.jar,commons-dbcp-1.2.2.jar,commons-digester-2.0.jar,commons-fileupload-1.2.1.jar,commons-httpclient.jar,commons-io-1.4.jar,...
common-io.jarcommon-io.jarcommon-io.jarcommon-io.jarcommon-io.jar
java-core-2.6.jar,commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,imageinfo-1.9.jar,slf4j-api-1.5.8.jar,slf4j-simple-1.5.8.jar共六个
commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar
赠送jar包:jetty-io-9.4.43.v20210629.jar; 赠送原API文档:jetty-io-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-io-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-io-9.4.43.v20210629....
commons-io-2.6.jar包,用于java开发亲测有效,已经用于项目中
kotlinx-coroutines-io-jvm-0.1.1.jar