Java中的File类

Java中File类的对象主要用于获取文件本身的一些信息,不涉及文件的读写操作。

File类的构造方法

  • public File(String filename)用来在当前工程目录下创建一个文件对象,文件名为filename
  • public File(String directoryPath,String filename),用来在directoryPath目录下创建一个名为filename的文件对象
  • public File(File dir,String filename),用来在dir目录下创建一个名为filename的文件对象,dir为文件目录对象
第一种方式创建文件对象
public class filetext {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File myFile = new File("ptr.java");
		if(myFile.exists()==false) {
			myFile.createNewFile();
		}
		System.out.println(myFile.getAbsolutePath());
	}
}
//D:\hlhlhl\pro\ptr.java
第二种方式创建文件对象
import java.io.*;
public class filetext {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File myFile = new File("E:\\","ptr.java");
		if(myFile.exists()==false) {
			myFile.createNewFile();
		}
		System.out.println(myFile.getAbsolutePath());
	}
}
//E:\ptr.java
第三种方式创建文件对象
import java.io.*;
public class filetext {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File fileDir = new File("E:\\ptr");
		fileDir.mkdir();
		File myFile = new File(fileDir,"app.txt");
		if(myFile.exists()==false) {
			myFile.createNewFile();
		}
		System.out.println(myFile.getAbsolutePath());
	}
}
//E:\ptr\app.txt

文件的属性

  • public String getName()获取文件的名字
  • public boolean canRead()获取文件是否是可读的
  • public boolean canWrite()获取文件是否是可写的
  • public boolean exists()判断文件是否存在
  • public long length()获取文件的长度(单位是字节)
  • public String getAbsolutePath()获取文件的绝对路径
  • public String getParent()获取文件的父目录
  • public boolean isFile()判断文件对象是否是一个普通的文件,而不是目录
  • public boolean isDirectory()判断文件是否是一个目录
  • public boolean createNewFile()判断文件对象是否存在本地文件,不存在则创建文件
import java.io.File;
import java.io.IOException;
public class Main {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
			File myfile = new File("C:\\","mybase");
			myfile.mkdir();
			File afile = new File(myfile,"a.txt");
			if(afile.exists() ==false)
			afile.createNewFile();
		    System.out.println("文件的名字:"+afile.getName());
		    System.out.println("判断文件是否是可读的:"+afile.canRead());
		    System.out.println("判断文件是否可以写入:"+afile.canRead());
		    System.out.println("判断文件是否存在:"+afile.exists());
		    System.out.println("获取文件的长度:"+afile.length());
		    System.out.println("获取文件的绝对路径:"+afile.getAbsolutePath());
		    System.out.println("获取文件的父目录:"+afile.getParent());
		    System.out.println("判断文件对象是一个普通文件而不是目录:"+myfile.isFile());
		    System.out.println("判断一个文件对象是否为目录:"+afile.isDirectory());
		    System.out.println("判断文件是否为隐藏文件:"+afile.isHidden());
		    System.out.print("获取文件的最后修改时间:"+afile.lastModified());
	}
文件的名字:a.txt
判断文件是否是可读的:true
判断文件是否可以写入:true
判断文件是否存在:true
获取文件的长度:0
获取文件的绝对路径:C:\mybase\a.txt
获取文件的父目录:C:\mybase
判断文件对象是一个普通文件而不是目录:false
判断一个文件对象是否为目录:false
判断文件是否为隐藏文件:false
获取文件的最后修改时间:1556210527603

文件的目录

  • 创建目录,文件对象调用midir()方法创建文件目录
  • 返回目录中的文件 public String[] list()以字符串数组形式返回
  • 返回目录中的文件 public File[] listFiles()以文件对象数组形式返回
import java.io.*;
public class filetext {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File myfile = new File("E:\\概率论考试题\\","阶段二");
		myfile.mkdir();
		String[] list = myfile.list();
		for(String i:list) {
			System.out.println(i);
		}
		//File[] list = myfile.listFiles();
		//for(File i:list) {
	    //System.out.println(i.getName());
		//}
	}
}
概率统计15-16第1学期阶段二试题A答案.doc
概率统计15-16第1学期阶段二试题A.doc
概率统计15-16第2学期阶段二试题A.doc
概率统计15-16第2学期阶段二试题答案.doc
概率统计16-17第2学期阶段二试题.doc
概率统计16-17第2学期阶段二试题答案.doc
概率统计13-14第2学期阶段2试题A.doc
概率统计17-18第1学期阶段二试题.doc
概率统计17-18第1学期阶段二试题答案.doc
概率统计14-15第1学期阶段2试题A答案.doc
概率统计14-15第1学期阶段2试题.doc
概率统计14-15第2学期阶段二试题A.doc
概率统计14-15第2学期阶段二试题A答案.doc
概率统计17-18第2学期阶段二试题答案.doc
概率统计17-18第2学期阶段二试题.doc

难点:选出文件夹下面的所有.java文件

import java.io.File;
import java.io.IOException;
import java.io.FileFilter;
class FileAccept implements FileFilter{
	private String extendName;
	public void setExtendName(String s){
		extendName = "."+s;
	}
	public boolean accept(File dir,String name){
		return name.endsWith(extendName);
	}
	@Override
	public boolean accept(File pathname) {
		// TODO Auto-generated method stub
		return false;
	}
}
public class Main {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
			File myfile = new File("C:\\","mybase");	
			System.out.println(myfile.mkdir());
			File[] contains = myfile.listFiles(new FileAccept());
			for(File i:contains){
				System.out.println(i.getName());
			}
	}
}

文件的创建与删除

文件的创建
当使用Files类创建一个文件对象时,如果本地没有这个文件,文件对象需要调用createNewFile()方法创建一个文件可执行文件的运行

if(myFile.exists()==false) {
			myFile.createNewFile();
		}

可执行文件的运行
当要执行本地机器的一个可执行文件的时候,可以使用java.lang.Runtime类
使用静态方法getRuntime()方法创建一个Runtime对象

Runtime rc  = Runtime.getRuntime();

调用exec(String Command)方法打开本地的一个可执行文件(.exe文件)

import java.io.*;
import java.lang.Runtime;
public class filetext {
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File myFile = new File("D:\\Navicat for Oracle","navicat.exe");
		Runtime rc  = Runtime.getRuntime();
		rc.exec(myFile.getAbsolutePath());
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值