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

导读:本篇文章讲解 java中对文件的操作(File类),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、文件操作

        文件—把数据持久化到磁盘的载体
        文件的组成: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);
	}
}

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

 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);
		 }
	}
}

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

当所有创建的文件和文件夹创建好了会显示true,已经创建显示false。 
java中对文件的操作(File类)

例如:得到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){
			//方法一:
			/*if(name.endsWith(".exe")){
				System.out.println("Windows文件夹中后缀名为exe的文件有:"+name);
			}*/
			//方法二:
			//注意当分割是.或者|时候,这个是转义字符必须要在前面加\\.或者\\|
			//将得到的文件名称用.分割得到文件类型
			String newstr[]=name.split("\\.");
			//遍历得到的名字和文件类型,当类型等于exe时输出整个文件名称
			for(String str:newstr){
				//判断当有exe的后缀名是输出此时的文件名称
				if(str.equals("exe")){
					System.out.println(name);
				}
			}
		}
		
	}
}

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79834.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!