File类

Posted 喝口水继续撸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了File类相关的知识,希望对你有一定的参考价值。

File类:唯一一个与文件本身有关的操作类。

下面3个构造方法可以用来生成File对象。

File(String directoryPath);

File(String directoryPath,String fileName);

File(File dirObj;String fileName);

例如:

File f1 = new File("/");

File f2 = new File("/","abc.txt");

File f3 = new File(f1,"abc.txt");

注:

directoryPath:文件的路径名

fileName:文件名

dirObj:指定目录的File对象

 分隔符问题

在Windows之中路径的分隔符使用"\",而在Linux中分隔符使用"/",而现在java程序如果想要让其具备可移植性,就必须考虑分隔符问题,所以File类提供了一个常量:public static final String separator。

File f1 = new File("c:"+File.separator+"abc.txt");

File常用方法

 

package cn.com.file;

import java.io.File;
import java.io.IOException;

/**
 * FileDemo
 *@author:hushaoyu
 *2017-2-15下午12:29:39
 *@描述:file类运用
 */
public class FileDemo {
	public static void main(String[] args) throws IOException {
		//根据构造方法创建File对象,路径E盘,文件名hello.txt
		File f1 = new File("E:"+File.separator+"HelloFile.txt");
		if (f1.exists()) {
			f1.delete();
		}else {
			f1.createNewFile();
		}
		//getName()方法,取得文件名
		System.out.println("文件名:"+f1.getName());
		//getPath()方法,取得文件名路径
		System.out.println("文件名路径"+f1.getPath());
		//getA()方法,取得文件名绝对路径
		System.out.println("文件名绝对路径"+f1.getAbsolutePath());
		//getParent(),取得父文件夹名
		System.out.println("父文件夹名"+f1.getParent());
		System.out.println(f1.exists()?"文件存在":"文件不存在");
		System.out.println(f1.canWrite()?"文件可写":"文件不可写");
		System.out.println(f1.canRead()?"文件可读":"文件不可读");
		System.out.println(f1.isDirectory()?"是":"不是"+"目录");
		System.out.println(f1.isFile()?"是文件":"不是文件");
		System.out.println(f1.isAbsolute()?"是绝对路径":"不是绝对路径");
		System.out.println("最后修改时间"+f1.lastModified());
		System.out.println("文件大小"+f1.length());
		System.out.println();
		
		/**结果输出:
		 文件名:HelloFile.txt
		文件名路径E:\HelloFile.txt
		文件名绝对路径E:\HelloFile.txt
		父文件夹名E:		文件存在
		文件可写
		文件可读
		不是目录
		是文件
		是绝对路径
		最后修改时间1487139283879
		文件大小0
		*/
		
	}
}

 创建目录文件

package cn.com.file;

import java.io.File;
import java.io.IOException;

import com.sun.org.apache.bcel.internal.generic.F2D;

/**
 * FileDemo
 *@author:hushaoyu
 *2017-2-15下午12:29:39
 *@描述:file类运用
 */
public class FileMakeDirs {
	public static void main(String[] args) throws IOException {
		//根据构造方法创建File对象,路径E盘,文件名hello.txt
		File f1 = new File("E:"+File.separator+"makedir"+File.separator+"makeFile.txt");
		if(!f1.getParentFile().exists()){ //父路径不存在
			f1.getParentFile().mkdir();  //创建目录
		}
			f1.createNewFile(); //创建文件
		System.out.println("目录文件名(类型File)"+f1.getParentFile());  //返回类型File
		System.out.println("目录文件名(类型String)"+f1.getParent());				   ////返回类型String
		System.out.println("文件名路径"+f1.getPath());
		
		
		/**输出结果:
		目录文件名(类型File)E:\makedir
		目录文件名(类型String)E:\makedir
		文件名路径E:\makedir\makeFile.txt
		*/
	}
}

  

  

 

以上是关于File类的主要内容,如果未能解决你的问题,请参考以下文章

这些 C++ 代码片段有啥作用?

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

[异常解决] Make nRF51 DFU Project Appear "fatal error: uECC.h: No such file or directory"(代码片段

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段

pycharm添加Odoo代码片段