栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中对文件的操作(File类)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中对文件的操作(File类)

一、文件操作

        文件---把数据持久化到磁盘的载体
        文件的组成:1.文件的基本属性【文件命名、文件类型、文件的创建时间、文件的大小···等】
                              2.文件中的数据
        我们想要通过java提供的输入输出流读写文件中的内容就得先学会操作文件
        java中为我们提供了一个专门文件类的java类--java.io.File类

二、File类的对象创建和常用的方法

        File类的定义:public class File

File类的静态成员变量:
    static String    pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示为字符串。 
    static char   pathSeparatorChar 与系统相关的路径分隔符。 
    static String  separator 与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。 
    static char    separatorChar 与系统相关的默认名称分隔符。  
例如:

package com.wangxing.test1;
import java.io.File;
public class fileTest {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//File类的静态成员变量:
		//static String	pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示为字符串。 
		System.out.println("String-pathSeparator=="+File.pathSeparator);
		//static char	pathSeparatorChar 与系统相关的路径分隔符。 
		System.out.println("Char-pathSeparatorChar=="+File.pathSeparatorChar);
		//static String	separator 与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。
		System.out.println("String-separator=="+File.separator);
		//static char	separatorChar 与系统相关的默认名称分隔符。
		System.out.println("char-separatorChar=="+File.separatorChar);
	}
}

 

 File类的构造方法
    File(String pathname) 通过给定的文件路径字符串创建新的 File实例。 
    File(String parent, String child) 通过给定的文件位置字符串和给定的文件名称字符串创建新的 File实例。 
    File(File parent, String child) 通过给定的文件位置File对象和给定的文件名称字符串创建新的 File实例。  
例如:注意file知识创建了file对象并没有创建文件文件夹

package com.wangxing.test1;
import java.io.File;
public class FileTest2 {
	public static void main(String[] args) {
		
		//File类的构造方法
		//File(String pathname) 通过给定的文件路径字符串创建新的 File实例。 
		String filepath="E:"+File.separator+"wangxingPeiXun"+File.separator+"java后端"+File.separator+"20211116java_16"+File.separator+"file1.txt";
		File file=new File(filepath);
		//File(String parent, String child) 通过给定的文件位置字符串和给定的文件名称字符串创建新的 File实例。 
		String parent="E:"+File.separator+"wangxingPeiXun"+File.separator+"java后端"+File.separator+"20211116java_16";
		String child="file1.txt";
		File file1=new File(parent,child);
		//File(File parent, String child) 通过给定的文件位置File对象和给定的文件名称字符串创建新的 File实例。  
		String pathparent="E:"+File.separator+"wangxingPeiXun"+File.separator+"java后端"+File.separator+"20211116java_16";
		File fileparent=new File(pathparent);
		File file3=new File(fileparent,"file1.txt");
	}
}

File类的实例方法
    boolean    exists() 判断路径名表示的文件或目录是否存在。 
    boolean    createNewFile() 创建新文件
    boolean    mkdirs()  创建新的文件夹
    boolean    delete()  删除文件/文件夹
              删除文件夹的时候要将该文件夹下的文件和子文件夹全部删除
    boolean    canRead() 判断文件是否可读
    boolean    canWrite() 判断文件是否可写 
    boolean    isHidden() 判断文件是否为隐藏文件。 
    boolean    isFile() 判断文件对象是否为普通文件。 
    boolean    isDirectory() 判断文件对象是否为目录。
    String    getPath() 得到文件对象的路径名字符串。 
    String    getName() 得到文件对象所表示的文件或目录的名称。 
    String    getParent() 得到文件对象所表示的路径的父目录路径 
    long    length() 得到文件对象所表示的文件的长度。 
    long    lastModified() 得到文件对象所表示的文件上次修改的时间。 
    String[]    list() 得到文件对象代表的文件夹中的所有文件和文件夹名称返回一个字符串数组
    File[]    listFiles() 得到文件对象代表的文件夹中的所有文件和文件夹的文件对象,返回一个文件对象        
例如:

package com.wangxing.test1;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Filetest3 {

	public static void main(String[] args) throws IOException {
		String filepath="E:"+File.separator+"wangxingPeiXun"+File.separator+"java后端"+File.separator+"java基础"+File.separator+"20211116java_16"+File.separator+"file1.txt";
		File file=new File(filepath);
		//File类的实例方法
		//boolean	exists() 判断路径名表示的文件或目录是否存在。 
		System.out.println("exists--"+file.exists());
		//boolean	createNewFile() 创建新文件
		System.out.println("createNewFile--"+file.createNewFile());
		//boolean	mkdirs()  创建新的文件夹
		String filemkdir="E:"+File.separator+"wangxingPeiXun"+File.separator+"java后端"+File.separator+"java基础"+File.separator+"20211116java_16"+File.separator+"wenjian";
		File file2=new File(filemkdir);
		System.out.println("mkdirs--"+file2.mkdirs());
		//boolean	delete()  删除文件/文件夹
		//System.out.println("txt delete--"+file.delete());
		//删除文件夹的时候要将该文件夹下的文件和子文件夹全部删除
		//System.out.println("wenjian mkdirs--"+file2.delete());
		//boolean	canRead() 判断文件是否可读
		System.out.println("canRead--"+file.canRead());
		//boolean	canWrite() 判断文件是否可写 
		System.out.println("canRead--"+file.canWrite());
		//boolean	isHidden() 判断文件是否为隐藏文件。 
		System.out.println("isHidden--"+file.isHidden());
		//boolean	isFile() 判断文件对象是否为普通文件。 
		System.out.println("isFile--"+file.isFile());
		//boolean	isDirectory() 判断文件对象是否为目录。
		System.out.println("txt-isDirectory--"+file.isDirectory());
		System.out.println("wenjian--isDirectory--"+file2.isDirectory());
		//String	getPath() 得到文件对象的路径名字符串。 
		System.out.println("getPath--"+file.getPath());
		//String	getName() 得到文件对象所表示的文件或目录的名称。 
		System.out.println("getName--"+file.getName());
		//String	getParent() 得到文件对象所表示的路径的父目录路径 
		System.out.println("getParent--"+file.getParent());
		//long	length() 得到文件对象所表示的文件的长度。 
		System.out.println("length--"+file.length()+"字节");
		//long	lastModified() 得到文件对象所表示的文件上次修改的时间。 
		System.out.println("lastModified--"+file.lastModified());
		Date date=new Date(file.lastModified());
		SimpleDateFormat Dategeshi=new SimpleDateFormat("yyyy-MM-dd E HH:mm:ss");
		String  dateStr=Dategeshi.format(date);
		System.out.println(file.lastModified()+"=="+dateStr);
		//String[]	list() 得到文件对象代表的文件夹中的所有文件和文件夹名称返回一个字符串数组
		File file3=new File("E:"+File.separator+"wangxingPeiXun"+File.separator+"java后端"+File.separator+"java基础"+File.separator+"20211116java_16");
		 String  nameStrArrat[]=file3.list();
		 for(String name:nameStrArrat){
			 System.out.println("name=="+name);
		 }
		//File[]	listFiles() 得到文件对象代表的文件夹中的所有文件和文件夹的文件对象,返回一个文件对象		
		 File  FileArrary[]=file3.listFiles();
		 for(File fileObject:FileArrary){
			 String filename=fileObject.getName();
			 Date date2=new Date(fileObject.lastModified()); 
			 String dateStr2=Dategeshi.format(date2);
			 System.out.println("filename=="+filename+"t"+"dateStr2=="+dateStr2);
		 }
	}
}

当所有创建的文件和文件夹创建好了会显示true,已经创建显示false。 

例如:得到C盘下的windows文件夹中的后缀名为.exe的所有文件名称

package com.wangxing.test1;

import java.io.File;

public class zuoyeGetexe {
	public static void main(String[] args) {
		String filepath="C:"+File.separator+"Windows";
		//创建File文件对象
		File file1=new File(filepath);
		//得到Windows文件夹下的所有问文件的名字
		String  namestr[]=file1.list();
		for(String name:namestr){
			//方法一:
			
			//方法二:
			//注意当分割是.或者|时候,这个是转义字符必须要在前面加\.或者\|
			//将得到的文件名称用.分割得到文件类型
			String newstr[]=name.split("\.");
			//遍历得到的名字和文件类型,当类型等于exe时输出整个文件名称
			for(String str:newstr){
				//判断当有exe的后缀名是输出此时的文件名称
				if(str.equals("exe")){
					System.out.println(name);
				}
			}
		}
		
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531154.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号