Java中的File类操作_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java中的File类操作

Java中的File类操作

 2014/5/22 18:57:23  吖龙Sam  程序员俱乐部  我要评论(0)
  • 摘要:业精于勤,荒于嬉;行成于思,毁于随。—《进学解》意思是说,学业靠勤奋才能精湛,如果贪玩就会荒废;德行靠思考才能形成,如果随大流就会毁掉。这句话告诉我们,学业还是需要刻苦专研。不要担心选拔人才的人眼睛不亮,只怕我们学业不能精湛;不要担心他们做到不公平,只怕我们德行无所成就。今天我们来学习Java中的File类,在Java中操作文件和文件夹均是使用File类。1、File类的构造方法:1)File(Fileparent,Stringchild)参数说明:第一个参数是父目录的File对象
  • 标签:file Java 操作

业精于勤,荒于嬉;行成于思,毁于随。—《进学解》
意思是说,学业靠勤奋才能精湛,如果贪玩就会荒废;德行靠思考才能形成,如果随大流就会毁掉。
这句话告诉我们,学业还是需要刻苦专研。不要担心选拔人才的人眼睛不亮,只怕我们学业不能精湛;不要担心他们做到不公平,只怕我们德行无所成就。

今天我们来学习Java中的File类,在Java中操作文件和文件夹均是使用File类。

1、File类的构造方法:
1)File(File parent, String child)
参数说明:第一个参数是父目录的File对象,第二个参数是子目录或文件名

2)File(String pathname)
参数说明:文件目录。例如:D:\\test\\file.txt

3)File(String parent, String child)
参数说明:第一个参数是父目录的路径,第二个参数是子目录或文件名。
例如:D:\\test,file.text

4)File(URI uri)
参数说明:传入一个URI对象。

以上四个为File类的构造方法,比较常用的是前面三个。

2、File类常用的方法:
boolean exists() 文件或目录是否存在

boolean isFile() 是否是一个文件
boolean isDirectory() 是否是一个目录

boolean createNewFile() 当且仅当文件不存在时,创建文件
boolean mkdir() 创建目录
boolean mkdirs() 创建多层目录

long length() 返回文件长度,以字节为单位
long lastModified() 返回文件最后一次被修改的时间,以毫秒为单位

String getPath() 返回文件的相对路径
String getAbsolutePath() 返回文件的绝对路径
String getParent() 返回文件的父路径,如果没有指定父路径,则返回null

以上提到的方法是File类中最常用的方法,必须熟练掌握,灵活应用。

3、File操作实例:
给定一个目录或文件,如果文件或目录不存在,则创建;如果存在,则输出相应信息。

1)代码

class="java">
import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 操作File类
 * @author SAM
 *
 */
public class FileDemo01 {
	
	/**
	 * 文件路径
	 */
	private static final String PATH_NAME = "D:\\my\\test.txt";

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		File file = new File(PATH_NAME);
		if (file.exists()) {// 文件存在,则判断是文件还是目录
			println("文件存在!");
			
			if (file.isFile()) {
				println("这是一个文件");
			} else if (file.isDirectory()) {
				println("这是一个目录");
			}
			
		} else {// 文件不存在,则创建文件
			println("文件不存在,创建文件!");
			
			try {
				String parent = file.getParent();
				if (parent != null) {
					File dir = new File(parent);
					dir.mkdirs();// 创建上层目录
				}
				file.createNewFile();// 创建文件,执行该语句才产生该文件
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		String absolutePath = file.getAbsolutePath();// 获取文件绝对路径
		String path = file.getPath();// 获取文件相对路径
		String parent = file.getParent();// 获取文件父路径
		
		long length = file.length();// 获取文件长度
		long lastModified = file.lastModified();// 获取文件最后一次修改时间
		String date = format(new Date(lastModified));
		
		StringBuilder sb = builderText(absolutePath, path, parent, length, date);
		
		println(sb.toString());
		
	}

	public static void println(String str) {
		System.out.println(str);
	}
	
	/**
	 * 格式化时间
	 * @param date
	 * @return
	 */
	public static String format(Date date){
		DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return formatter.format(date);
	}
	
	/**
	 * 为了输出方便,拼接文本
	 * @param absolutePath
	 * @param path
	 * @param parent
	 * @param length
	 * @param date
	 * @return
	 */
	private static StringBuilder builderText(String absolutePath, String path,
			String parent, long length, String date) {
		
		StringBuilder sb = new StringBuilder();
		sb.append("absolutePath=" + absolutePath + "\n");
		sb.append("path=" + path + "\n");
		sb.append("parent=" + parent + "\n");
		sb.append("length=" + length + "\n");
		sb.append("lastModified=" + date + "\n");
		
		return sb;
	}

}


2)运行结果:
运行第一次:



运行第二次



4、总结:
实例中的逻辑比较简单,代码结构也比较清晰,基本蕴含了File类中的常用方法,掌握好File操作,为以后学习IO操作打下良好的基础。
  • 大小: 33.2 KB
  • 大小: 33 KB
  • 查看图片附件
发表评论
用户名: 匿名