示例一:
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* java.io.File
* 该类用于表示一个文件或目录
* 使用该类可以获取表示的文件或目录的属性信息。
* 但是不能访问文件的内容。
* 使用该类还可以操作文件或目录(新建,删除等)
* @author Administrator
*
*/
public class FileDemo1 {
public static void main(String[] args) {
/*
* 创建一个File用来表示项目根目录下的test.txt
* 文件
*/
File file = new File("."+File.separator+"test.txt");
/*
* 判断表示的文件是否真实存在于硬盘上
* boolean exists()
* 存在返回true
*/
if(file.exists()){
System.out.println("文件存在!");
}else{
System.out.println("文件不存在!");
}
/*
* long length()
* 查看当前文件占用的字节量
*/
long length = file.length();
System.out.println("占用:"+length+"字节");
/*
* boolean isFile()
* 判断当前File对象表示的是否是一个文件
* 是则返回true
*/
if(file.isFile()){
System.out.println("是文件");
}else{
System.out.println("不是文件");
}
/*
* boolean isDirectory()
* 判断当前File对象表示的是否为一个目录
*/
if(file.isDirectory()){
System.out.println("是目录");
}else{
System.out.println("不是目录");
}
/*
* 一下三个方法返回boolean值
* 分别表示:
* 可运行,可读,可写
*/
file.canExecute();
file.canRead();
file.canWrite();
/*
* 文件的最后修改时间
* long表示1970年元旦到这一刻的毫秒值
*
* 2015年4月9日 16:37:38
*/
long last = file.lastModified();
Date date = new Date(last);
SimpleDateFormat sdf
= new SimpleDateFormat("yyyy年M月d日 HH:mm:ss");
String str = sdf.format(date);
System.out.println(str);
/*
* String getName()
* 获取当前File对象表示的文件或目录的名字
*/
String name = file.getName();
System.out.println("名字:"+name);
}
}
import java.io.File;
import java.io.IOException;
/**
* 使用File对象新建一个文件
* @author Administrator
*
*/
public class FileDemo2 {
public static void main(String[] args) throws IOException {
/*
* 在当前项目根目录下创建文件demo.txt
*/
File file = new File("demo.txt");
//若不存在才创建
if(!file.exists()){
/*
* 创建文件
*/
file.createNewFile();
System.out.println("创建完毕!");
}
}
}
import java.io.File;
/**
* 删除一个文件
* @author Administrator
*
*/
public class FileDemo3 {
public static void main(String[] args) {
/*
* 删除项目根目录下的demo.txt文件
*/
File file = new File("demo.txt");
if(file.exists()){
/*
* 删除该文件
*/
file.delete();
System.out.println("删除完毕!");
}
}
}
示例二:
import java.io.File;
/**
* 查看一个目录下的所有子项
* @author Administrator
*
*/
public class FileDemo1 {
public static void main(String[] args) {
/*
* 查看当前项目根目录下的所有子项
*/
File dir = new File(".");
/*
* File[] listFiles()
* 将当前目录下的每一个子项用一个File对象去描述
* 然后将他们存入一个数组返回
*/
File[] subs = dir.listFiles();
for(File sub : subs){
if(sub.isFile()){
System.out.print("文件:");
}
if(sub.isDirectory()){
System.out.print("目录:");
}
System.out.println(sub.getName());
}
}
}
import java.io.File;
import java.io.FileFilter;
/**
* 使用文件过滤器FileFilter来获取一个目录下
* 满足条件的部分子项
* @author Administrator
*
*/
public class FileDemo2 {
public static void main(String[] args) {
/*
* 使用匿名内部类方式创建文件过滤器
* java.io.FileFilter本身是一个接口
*/
FileFilter filter = new FileFilter(){
/**
* 实现FileFilter接口后必须重写accept方法
* 该方法用于定义过滤条件。若参数file满足
* 过滤条件返回值就为true即可
*/
public boolean accept(File file) {
System.out.println("正在过滤:"+file.getName());
//过滤条件:只要文件,不要目录
return file.isFile();
}
};
File dir = new File(".");
/*
* 获取当前目录下满足过滤器要求的所有子项
*/
File[] subs = dir.listFiles(filter);
for(File sub : subs){
System.out.println(sub.getName());
}
}
}
import java.io.File;
/**
* 删除给定的File对象
* 该对象可能表示文件也可能表示目录。总之要删除
* @author Administrator
*
*/
public class FileDemo3 {
public static void main(String[] args) {
File dir = new File("a");
delete(dir);
}
/**
* 将给定的File对象表示的文件或目录删除
* @param file
*/
public static void delete(File file){
if(file.isDirectory()){
//先将所有子项删除
File[] subs = file.listFiles();
for(File sub : subs){
delete(sub);
}
}
file.delete();
}
}
/*
* 编写一段代码,完成1+2+3+4...+100
* 每加一次输出一次结果
* 不得超过20行代码
* 一行一句代码。
* 在代码中不得出现for while等关键字
*/
示例三:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.RandomAccessFile;
/**
* java.io.RandomAccessFile
* 该类用于读写文件数据
* @author Administrator
*
*/
public class RandomAccessFileDemo1 {
public static void main(String[] args) throws FileNotFoundException {
/*
* RandomAccessFile的两种创建模式
* 读写模式与只读模式
* 读写模式:可以读取文件数据,也可以向文件中写入数据
* 只读模式:只能