• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

File文件类

技术杂谈 勤劳的小蚂蚁 3个月前 (01-30) 78次浏览 已收录 0个评论 扫描二维码

文件的操作在Javaio操作中占有十分重要的地位,今天小编从以下四个方面来介绍一下Java中对文件的操作。
一、Java中新建一个文件,文件夹需要用到的createNewFile(),delete(),mkdir(),mkdirs()几个方法。

publicclassFileUtil
{  
publicstaticvoidmain(String[] args) throws IOException
{    
      File file = new File(“D:/File/file.txt”);
     File dir = new File(“D:/File/hello/file.txt”);
      File directory = new File(“D:/File/hk”);
      if (!directory.exists()) {    
         System.out.println(directory.mkdir());
      }    
      if (!dir.exists()) {    
          System.out.println(dir.mkdirs());  
      }  
      if (!file.exists()) {  
           System.out.println(“:” + file.createNewFile());  
      }  
      }
}

运行后如下

以下小编为大家介绍了创建文件、文件夹的两种方式。
1、创建文件: 
在D盘的File目录下面新建一个file.txt文件,通过exist()来判断文件是否已经存在,如果文件不存在调用createNewFile()方法来创建文件,CreateNewFile()方法会返回一个Boolean值,如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false。 
2、创建文件夹:
如果指定的文件夹不存在可以通过mkdir(),mkdirs()方法来创建文件夹。 
mkdir(),和mkdirs()也都返回一个Boolean值,如果指定文件夹不存在并且通过mkdir()或者mkdirs()创建成功则返回一个true 值,否则返回false。 
mkdir(),和mkdirs()的区别是新建的文件目录的上级目录不存在时,mkdirs()方法会将目录与上级目录一起创建。而mkdir()方法回报异常不能成功创建文件夹。
二、判断文件的方法:
isDirectory(),isFile(),exists(),isAbsolute(),canWrite(),canRead(),isHidden()

publicclassFileUtil
{
publicstaticvoidmain(String[] args) throws IOException
{  
   File file = new File(“D:/File/file.txt”);    
   File directory = new File(“D:/File/hk”);  
   File dir = new File(“D:/File/hello/file.txt”);
   if (!directory.exists()) {
       System.out.println(directory.mkdir());  
   }
   if (!dir.exists()) {
       System.out.println(dir.mkdirs());
   }
   if (!file.exists()) {
       System.out.println(“:” + file.createNewFile());
   }
   file.setReadable(false);
   file.setWritable(true);  System.out.println(isDirectory:“+file.isDirectory()+”t“isFile:”+file.isFile()+“tcanRead:”+file.canRead()+“tcanWrite:”+file.canWrite());  
   System.out.println(dir.isFile()+“:”+dir.isDirectory());
}
}

输出结果如下: 
isDirectory:false isFile:true 
canRead:false canWrite:true 
isFile:false isDirectory:true 
三、获取文件属性的方法:
lastModified(),length(),list(),listFiles(),
renameTo(),getName(),getParent(),
getPath(),getAbsolutePath()
publicclassFileUtil
{    
publicstaticvoidmain(String[] args) throws IOException {

       File dir = new File(“D:/File”);
       String[] str=dir.list();
       File[] str1=dir.listFiles();
       System.out.println(“lastModified():”+new Date(dir.lastModified()));
       System.out.println(“length():”+dir.length()+“ngetAbsolutePath:”+dir.getAbsolutePath());
       System.out.println(“getPath:”+dir.getPath());
       System.out.println(“getName:”+dir.getName()+“ngetParent:”+dir.getParent());
       
       for(int i=0;i<str1.length;i++)
       {
           System.out.println(“:”+str1[i]);
       }

       for(int i=0;i<str.length;i++)
       {
           System.out.println(“:”+str[i]);
       }
}

}

输出结果: 
lastModified():Tue Nov 28 23:03:54 CST 2017
length():0
getAbsolutePath:D:File
getPath:D:File
getName:File
getParent:D:
:D:Filefile.txt
:D:Filehello
:file.txt
:hello
    FileUtil 类子中通过Date函数将long类型的值转化为日期。lastModified()函数会返回一个long类型的值,getAbsolutePath()返回目录的绝对路径。list(),和listFiles()方法很重要,list()方法会返回目录下面所有的目录或文件的名称,返回的是一个字符串数组。而listFiles()返回的是目录下面的文件和目录数组,返回的是文件和目录的绝对路径。 
四、删除文件的Delete()方法
下面小编为大家总结一下如何删除一个文件和删除一个文件夹。 
直接判断文件是否存在,如果存在的话就删除,如果文件不存在可以不用操作。逻辑是这样的,没问题,但是删除一个文件夹比较麻烦,我们不能够直接的删除一个文件夹,我们删除时要先做非空判断,确保文件夹为空,也就是说文件夹里面的文件和文件夹要全部被删除之后才能够删除该文件夹。

publicclassFileUtil
{
publicstaticvoidmain(String[] args) throws IOException {
   deleteFiles(“D:/File”);
}
publicstaticvoiddeleteFiles(String path){
File file = new File(path);
if (!file.exists()) {
return;
}
if (file.isFile()) {
file.delete();
} elseif (file.isDirectory()) {
File[] files = file.listFiles();
for (File myfile : files) {
System.out.println(“:” + myfile.getAbsolutePath());
deleteFiles(myfile.getAbsolutePath());
}
file.delete();
}
}
}

    上面那个例子中:D:/File是一个文件夹,它的下面还有其他的子文件夹和文件,直接调用delete()函数,无法删除。这个时候先利用递归的算法先删除其里面的文件和文件夹,再删除D:/File就ok了。

丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:File文件类
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00