java中对文件的操作(File类)_new file 的时候 /转义_slom_fxt的博客-程序员秘密

技术标签: java基础  java  后端  

一、文件操作

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/slom_fxt/article/details/121364414

智能推荐

标准C接口映射到C#_gxhzippo的博客-程序员秘密

难点主要是复杂数据类型的映射,包括字符串数组和自定义结构,一般方法是使用约定好的连续内存的二进制流的格式,先从C库中创建连续内存,C#中使用Marshal.Copy到本地的byte[],然后在本地对二进制流进行分割,依次将各个字段填入本地的离散的变量中。这种方式由于增加了两次内存的拷贝,因此效率会损失一些。下面是一个例子      using System.Runtime.InteropS

计算机导论第一章试题及答案,计算机导论第一章试题_动妈-游戏力育儿的博客-程序员秘密

1. 电子计算机从诞生之日起,经历了4个发展阶段,目前所使用的第四代计算机是()A.电子管时代 B.电子管时代 C.半导体时代 D.集成电路时代2.冯 · 诺依曼的主要贡献是()。A.发明了微型计算机 B.提出了存储程序概念C.设计了第一台电子计算机 D.设计了高级程序设计语言 3. 冯 · 诺依曼体系结构思想可以归结为()。 A.二进制替代十进制 B.采用存储程序的思想C.计算机...

报错:java.lang.NullPointerException: target is null for method trim_懒笑翻的博客-程序员秘密

### Error querying database.  Cause: java.lang.NullPointerException: target is null for method trim### Cause: java.lang.NullPointerException: target is null for method trim org.mybatis.spring.MyBa

HTML入门_脸哥哥的博客-程序员秘密

一、HTML简介 1.HTML是什么?HTML:htper text markup language超文本标记(标签)语言有各种标签组成,用来制作网页,告诉浏览器如何显示页面2.作用制作网页,控制网页和内容的显示插入图片、音乐、视频、动画等多媒体通过链接来检索信息使用表单获取用户的信息,实现交互3.版本w3c:world wide web consortium万维网联盟,制定web技术相关标准和规...

VMware vSphere Client(4.1/5.0/5.1/5.5/6.0) 客户端下载地_javaee1234的博客-程序员秘密

前言VMware作为商业虚拟化方案的佼佼者不知不觉中已经成长为一颗苍天大树,面对OpenStack和Docker的夹击希望VMware可以继续勇往直前,从vSphere 6.5开始终于彻底告别Client的束缚,Web响应速度和功能也不再为人所诟病,因为多版本VMware vSphere Client共存比较困难,这里记录分享下vSphere Client从4.1至6.0的下载地址备用。...

mysql中的set和enum类型的用法和区别_mysql 枚举和set区别_wf120355的博客-程序员秘密

mysql中的enum和set其实都是string类型的而且只能在指定的集合里取值, 不同的是set可以取多个值,enum只能取一个值。

随便推点

Linux TCP数据包接收处理_tcp_recvmsg释放skb_chensichensi的博客-程序员秘密

在接收流程一节中可以看到数据包在读取到用户空间前,都要经过tcp_v4_do_rcv处理,从而在receive queue中排队。在该函数中,我们只分析当连接已经建立后的数据包处理流程,也即tcp_rcv_established函数。 tcp_rcv_established函数的工作原理是把数据包的处理分为2类:fast path和slow path,其含义显而易见。这样分类的目的

Linux基础必知必会(一)_在linux系统中cat book1会怎么样_诡途的博客-程序员秘密

很多人会疑惑,当前可视化操作系统这么好用,为什么还要学习底层系统呢?就像我们学习python一样,也许都不懂库的源码,我们也可以很好的工作和使用这些既成成果,但是永远无法在此方向上有什么更加深入的发展,直到所谓的30岁魔咒,被更年轻的人取代Linux也是一样,我们学习的过程中不管是Mysql,hadoop,Pysaprk之类的大数据或者数据挖掘,人工智能的操作,使用的都是本地,最多弄个虚拟机,但是生产环境基本上都是在服务器上操作,所以为了更好的职业发展,我们还是有必要学习点一些Linux知识的,不求精深

php-cs-fixer sublime,PHP-CS-Fixer 格式化php的代码_weixin_39959482的博客-程序员秘密

写过golang的同学都知道,go自带gofmt格式化,sumlime安装插件后,自动修正golang的语法格式化。身为天下第一的PHP,工具也是有的,利器:PHP-CS-Fixercurl -L http://cs.sensiolabs.org/download/php-cs-fixer-v2.phar -o php-cs-fixer$ sudo chmod a+x php-cs-fixer$ ...

android4.0.3 修改启动动画和开机声音_无为_的博客-程序员秘密

1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片);2. Android平台启动初始化,出现"A N D R I O D"文字字样画面;3. Android平台图形系统启动,出现含闪动的ANDROID字样的动画图片(start)。现在我们说的是第三种方式(基于模拟器):android开机动画叫源码位于fr

02-云计算linux运维——基础命令(02文件命令)_不吃香菜的颜曦的博客-程序员秘密

文件命令1.touch创建空文件或修改文件时间,这个命令的基本信息如下。命令名称:touch。英文原意:change file timestamps。2.stat 命令stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间,其基本信息如下。命令名称:stat。英文原意:display file or file system status功能描述:显示文件或文件系统的详细信息3. cat 命令cat 命令用来查看文件内容。这个命令的基本信息如下。命令名称:cat。英文原意

不一样的 LaTeX 教程:使用 listings 宏包美化代码_latex listings_极与客的博客-程序员秘密

LaTeX 中插入代码常用到 listings 宏包。利用 listing 宏包的相关设置可以大幅美化代码。

推荐文章

热门文章

相关标签