牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

时间:2022-01-28 07:23:51

  不多说,直接上干货!

获取文件名称、获取文件路径、获取文件大小、获取文件修改时间

牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date; public class FileMethodDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
/*
* File对象的常见方法。
* 1,获取。
* 1.1 获取文件名称。
* 1.2 获取文件路径。
* 1.3 获取文件大小。
* 1.4 获取文件修改时间。
*/
getDemo(); } public static void getDemo(){//获取
// File file = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\a.txt");//这是绝对路径。 File对象
File file = new File("a.txt");//这是相对路径
String name = file.getName();//获取文件名称
String absPath = file.getAbsolutePath();//获取文件路径,是绝对路径。
String path = file.getPath();//获取文件路径,是相对路径。
long len = file.length();
long time = file.lastModified();//获取文件修改时间
Date date = new Date(time);
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
String str_time =
dateFormat.format(date);
System.out.println("parent:"+file.getParent());
System.out.println("name:"+name);
System.out.println("absPath:"+absPath);
System.out.println("path:"+path);
System.out.println("len:"+len);
System.out.println("time:"+time);
System.out.println("str_time:"+str_time);
}
}

 创建与删除

FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date; public class FileMethodDemo{
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
/*
* File对象的常见方法。
* 创建与删除。
*/
createAndDeleteDemo();
} public static void createAndDeleteDemo() throws IOException {
File dir = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\a.txt");
boolean b = dir.mkdir();//make directory
System.out.println("b="+b);
dir.mkdirs();//创建多级目录
System.out.println(dir.delete()); //文件的创建和删除。
File file = new File("file.txt"); /*
* 和输出流不一样,如果文件不存在,则创建,如果文件存在,则不创建。
*/
boolean b1 = file.createNewFile();
System.out.println("b1="+b1); boolean b2 = file.delete();
System.out.println("b2="+b2);
}
}

 判断

 FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date; public class FileMethodDemo { /**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
/*
* File对象的常见方法。
* 判断。
*/
isDemo();
} public static void isDemo() throws IOException{
File f = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\a.txt");
f.mkdir();
f.createNewFile(); boolean b = f.exists();
System.out.println("b="+b);
// 最好先判断是否存在。
System.out.println(f.isFile());
System.out.println(f.isDirectory());
}
}

重命名

 FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date; public class FileMethodDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
/*
* File对象的常见方法。
* 4, 重命名
*/
renameToDemo(); } public static void renameToDemo() {
File f1 = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\a.txt");
File f2 = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\b.txt");
boolean b = f1.renameTo(f2);
System.out.println("b="+b);
}
}

系统根目录

牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

 FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date; public class FileMethodDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
/*
* File对象的常见方法。
* 系统根目录
*/
listRootsDemo();
} public static void listRootsDemo() {
File[] files = File.listRoots();
for(File file : files){
System.out.println(file);
}
}
}

 容量获取

牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

 FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date; public class FileMethodDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
/*
* File对象的常见方法。
* 系统根目录和容量获取
*/
listRootsDemo();
} public static void listRootsDemo() {
File file = new File("D:\\");
System.out.println("getFreeSpace:"+file.getFreeSpace());
System.out.println("getTotalSpace:"+file.getTotalSpace());
System.out.println("getUsableSpace:"+file.getUsableSpace());
}
}

获取目录内容

牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

 FileListDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;

public class FileListDemo {
/**
* @param args
*/
public static void main(String[] args) {
listDemo();
} public static void listDemo() {
File file = new File("D:\\");
/*
* 获取当前目录下的文件以及文件夹的名称,包含隐藏文件。
* 调用list方法的File对象中封装的必须是目录。
* 否则会发生NullPointerException
* 如果访问的系统级目录也会发生空指针异常。
* 如果目录存在但是没有内容,会返回一个数组,但是长度为0.
*/
String[] names = file.list();
System.out.println(names.length); for(String name : names){
System.out.println(name);
}
}
}

牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

过滤器

牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

FileListDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;

import zhouls.bigdata.DataFeatureSelection.test.FilterByHidden;
import zhouls.bigdata.DataFeatureSelection.test.SuffixFilter; public class FileListDemo {
/**
* @param args
*/
public static void main(String[] args) {
listDemo();
listDemo_2();
listDemo_3();
listDemo_4();
} public static void listDemo_4() {
File dir = new File("D:\\");
String[] names = dir.list(new FilterByJava());//FilterByJava.java
for(String name : names){
System.out.println(name);
}
} public static void listDemo_3() {
File dir = new File("D:\\");
File[] files = dir.listFiles(new FilterByHidden());//FilterByHidden.java
for(File file : files){
System.out.println(file);
}
} public static void listDemo_2() {
File dir = new File("D:\\");
String[] names = dir.list(new SuffixFilter(".txt"));
for(String name : names){
System.out.println(name);
}
} public static void listDemo() {
File file = new File("D:\\");
/*
* 获取当前目录下的文件以及文件夹的名称,包含隐藏文件。
* 调用list方法的File对象中封装的必须是目录。
* 否则会发生NullPointerException
* 如果访问的系统级目录也会发生空指针异常。
* 如果目录存在但是没有内容,会返回一个数组,但是长度为0.
*/
String[] names = file.list();
System.out.println(names.length); for(String name : names){
System.out.println(name);
}
}
}

FilterByHidden.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.FileFilter; public class FilterByHidden implements FileFilter {
public boolean accept(File pathname) {
return !pathname.isHidden();
}
}

FilterByJava.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.FilenameFilter; public class FilterByJava implements FilenameFilter {
public boolean accept(File dir, String name) {
System.out.println(dir+"---"+name);
return name.endsWith(".java");//name是每个文件名称 , .java即凡是.java文件全为真
}
}

SuffixFilter.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.FilenameFilter; public class SuffixFilter implements FilenameFilter {
private String suffix ;
public SuffixFilter(String suffix) {
super();
this.suffix = suffix;
}
public boolean accept(File dir, String name) {
return name.endsWith(suffix);
}
}