linux shell编程 test 如何判断文件类型,如果文件为空?

linux shell编程 test 如何判断文件类型,如果文件为空?,第1张

-e file 如果 file存在,则为

-d file 如果 file为目录,则为真

-f file 如果瞎携 file为常规文件,则为真

-L file 如果 file为符号链接,则为真

-r file 如果 file可读,则为真

-w file 如果 file可写,则为真

-x file 如果 file可磨茄伏执行,则为真

-s file 如果 file长度不为0,则纳旁为真

-h file 如果 file是软链接,则为真

1. 首先明确一点的是:test.txt文件可以和test文件夹同时存在同一目录下;test文件不能和test文件夹同时存在同一目录下。

原因是:

(1)win的文件羡昌和文件夹都是以节点形式存放,这就意味着相同的文件和文件名不能逗野处在同一目录下,会命名冲突。

(2)文件后缀名也算是文件名的一部分,即test.txt文件和test文件不是相同文件名的文件。

2. 基于以上原因,如果我想在d:创建一个test文件夹,但是d:下面有一个test文件,那么由于命名冲突,是不可能创建成功的。

所以,在创建之前,要通过file.exists()判断是否存在test命名的文件或者文件夹,如果返回true,是不能创建的;

import java.io.File

import java.io.IOException

public class Main {

public static void main(String[] args) {      

File file = new File("d:\\test_file.txt")

Main.judeFileExists(file)

File dir = new File("d:\\test_dir")

Main.judeDirExists(dir)

}// 判断文件是否存在

public static void judeFileExists(File file) {

if (file.exists()) {      

System.out.println("file exists")

} else {

System.out.println("file not exists, create it ...")

try {            

file.createNewFile()     

} catch (IOException e) {            

// TODO Auto-generated catch block    山派喊        

e.printStackTrace()       

}    

}

}   // 判断文件夹是否存在

public static void judeDirExists(File file) {  

if (file.exists()) {        

if (file.isDirectory()) {            

System.out.println("dir exists")       

} else {          

System.out.println("the same name file exists, can not create dir")

}     }

else {          System.out.println("dir not exists, create it ...")     

file.mkdir() 

}

}

}

然后再通过file.isDirectory()来判断这是不是一个文件夹。

1.File testFile = new File(testFilePath)

if(!testFile .exists()){

testFile.mkdirs()

System.out.println("测试文件夹不存在")

}

2.File testFile = new File(testFilePath)

if(!testFile .exists()){

testFile.createNewFile()

System.out.println("测试文件不存在")

}

java中File类自带一消租个检测方法exists可以判断文件或文件夹是否存在,一般与mkdirs方法(该方法相较于mkdir可以创建包括父级路径,推荐使用该方法)或者createNewFile方法合作使用。

1,如果路径不存在,就洞银创建该路径

2,如果文件不存在拿颤兆,就新建该文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12301587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存