zoukankan      html  css  js  c++  java
  • Java之File

    总结

    1. java.io.File类:文件和目录路径名的抽象表示形式,与平台无关
    2. File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
    3. File对象可以作为参数传递给流的构造函数
    4. 在UNIX中,此字段为‘/’,在Windows中,为‘’
    5. File 类代表与平台无关的文件和目录。

    java.io.File类

    public class Test {
    	public static void main(String[] args) {
    		File f = new File("E:\Learn\4.语言\1.Java\day12\test.txt");//这时f就是test.txt文件
    		File f1 = new File("E:\Learn\4.语言\1.Java\day12");//这时f1是个文件夹
    		System.out.println(f.getName());//文件名
    		System.out.println(f1.getName());//文件夹名
    		
    		//相对路径
    		File f2 = new File("javademo/src/com/day08/Test.java");
    		System.out.println(f2.getPath());
    		System.out.println(f2.getAbsolutePath());
    		
    		System.out.println(f2.getAbsoluteFile());//返回一个当前的文件的绝对路径构建的file对象
    		System.out.println(f2.getParent());//返回当前文件或者文件夹的父级路径
    		System.out.println(f2.exists());//判断文件或者文件夹是否存在
    		System.out.println(f.canRead());//判断文件是否可读
    		System.out.println(f.canWrite());//判断文件是否可写
    		System.out.println(f.isFile());//判断file对象是否是文件
    		System.out.println(f.isDirectory());//判断当前file对象是不是文件夹
    		System.out.println(f.lastModified());//获取文件的最后修改时间,返回的是一个毫秒数
    		System.out.println(f.length());//返回文件长度,单位字节数
    	}
    }
    
    

    文件操作

    File f3 = new File("E:\Learn\4.语言\1.Java\2019Java求知讲堂哔哩哔哩课件源代码\day12\test11.txt");
    		System.out.println(f3.exists());
    		if(!f3.exists()) {
    			try {
    				//创建文件
    				f3.createNewFile();
    			} catch (IOException e) {
    				// TODO 自动生成的 catch 块
    				e.printStackTrace();
    			}
    		}
    		//删除文件
    		f3.delete();
    

    目录操作

    		//目录操作
    		File f4 = new File("E:\Learn\4.语言\1.Java\2019Java求知讲堂哔哩哔哩课件源代码\day12\cc");
    		f4.mkdir();//创建单级目录,如果用这种方法创建多级目录,需要一级一级的调用mkdir()
    		
    		File f5 = new File("E:\Learn\4.语言\1.Java\2019Java求知讲堂哔哩哔哩课件源代码\day12\dd\a\b\c");
    		f5.mkdirs();//创建多级目录
    		
    		//list
    		File f6 = new File("E:\Learn\4.语言\1.Java\2019Java求知讲堂哔哩哔哩课件源代码\day12");
    		String[] fl = f6.list();//返回的是当前文件夹的子集的名称,包括目录和文件
    		for(String ff : fl) {
    			System.out.println(ff);
    		}
    		
    		//listFiles
    		File[] fll = f6.listFiles();//返回的是当前文件夹的子集的file对象,包括目录和文件
    		for(File ff : fll) {
    			System.out.println(ff);
    		}
    

    递归遍历文件

    	/**
    	 * 递归遍历文件
    	 * @param file
    	 */
    	public void test(File file) {
    		if(file.isFile()) {
    			System.out.println(file.getAbsolutePath()+" 是文件");
    		}else {
    			System.out.println(file.getAbsolutePath()+" 是文件夹");
    			//如果是文件夹,那么下面可能有文件和文件夹
    			File[] fs = file.listFiles();
    			if(fs!=null && fs.length>0) {
    				for(File ff : fs) {
    					test(ff);
    				}
    			}
    		}
    	}
    	
    		//调用递归遍历文件
    		new Test().test(f6);
    
  • 相关阅读:
    最大子数组问题(分治策略实现)
    Solving the Detached Many-to-Many Problem with the Entity Framework
    Working With Entity Framework Detached Objects
    Attaching detached POCO to EF DbContext
    如何获取qq空间最近访问人列表
    Health Monitoring in ASP.NET 2.0
    problem with displaying the markers on Google maps
    WebMatrix Database.Open… Close() and Dispose()
    Accessing and Updating Data in ASP.NET: Retrieving XML Data with XmlDataSource Control
    Create web setup project that has crystal reports and sql script run manually on client system
  • 原文地址:https://www.cnblogs.com/istart/p/12057243.html
Copyright © 2011-2022 走看看