检查与创建目录

File类并不仅仅是对现有目录路径、文件或者文件组的一个表示。亦可用一个File对象新建一个目录,甚至创建一个完整的目录路径——假如它尚不存在的话。亦可用它了解文件的属性(长度、上一次修改日期、读/写属性等),检查一个File对象到底代表一个文件还是一个目录,以及删除一个文件等等。下列程序完整展示了如何运用File类剩下的这些方法:
 

//: MakeDirectories.java
// Demonstrates the use of the File class to
// create directories and manipulate files.
import java.io.*;

public class MakeDirectories {
  private final static String usage =
    "Usage:MakeDirectories path1 ...\n" +
    "Creates each path\n" +
    "Usage:MakeDirectories -d path1 ...\n" +
    "Deletes each path\n" +
    "Usage:MakeDirectories -r path1 path2\n" +
    "Renames from path1 to path2\n";
  private static void usage() {
    System.err.println(usage);
    System.exit(1);
  }
  private static void fileData(File f) {
    System.out.println(
      "Absolute path: " + f.getAbsolutePath() +
      "\n Can read: " + f.canRead() +
      "\n Can write: " + f.canWrite() +
      "\n getName: " + f.getName() +
      "\n getParent: " + f.getParent() +
      "\n getPath: " + f.getPath() +
      "\n length: " + f.length() +
      "\n lastModified: " + f.lastModified());
    if(f.isFile())
      System.out.println("it's a file");
    else if(f.isDirectory())
      System.out.println("it's a directory");
  }
  public static void main(String[] args) {
    if(args.length < 1) usage();
    if(args[0].equals("-r")) {
      if(args.length != 3) usage();
      File
        old = new File(args[1]),
        rname = new File(args[2]);
      old.renameTo(rname);
      fileData(old);
      fileData(rname);
      return; // Exit main
    }
    int count = 0;
    boolean del = false;
    if(args[0].equals("-d")) {
      count++;
      del = true;
    }
    for( ; count < args.length; count++) {
      File f = new File(args[count]);
      if(f.exists()) {
        System.out.println(f + " exists");
        if(del) {
          System.out.println("deleting..." + f);
          f.delete();
        }
      }
      else { // Doesn't exist
        if(!del) {
          f.mkdirs();
          System.out.println("created " + f);
        }
      }
      fileData(f);
    }
  }
} ///:~

在fileData()中,可看到应用了各种文件调查方法来显示与文件或目录路径有关的信息。
main()应用的第一个方法是renameTo(),利用它可以重命名(或移动)一个文件至一个全新的路径(该路径由参数决定),它属于另一个File对象。这也适用于任何长度的目录。
若试验上述程序,就可发现自己能制作任意复杂程度的一个目录路径,因为mkdirs()会帮我们完成所有工作。在Java 1.0中,-d标志报告目录虽然已被删除,但它依然存在;但在Java 1.1中,目录会被实际删除。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索目录
, 文件
, file
, system
, 一个
println
linux 创建目录、c 创建目录、word创建目录、python 创建目录、无法创建目录或文件,以便于您获取更多的相关知识。

时间: 2024-11-15 20:46:42

检查与创建目录的相关文章

PHP递归创建目录(伪原创)

有时候需要递归创建目录函数,这时需要使用dirname()函数(取得路径中的目录部分)和mkdir()函数(创建目录). 先普及一下语法: dirname (PHP 4, PHP 5) dirname - 返回路径中的目录部分 说明 ? string dirname ( string $path ) 给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名. 参数 ? path 一个路径. 在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符.在其它环境下是斜线

无法创建目录或文件的解决方法

无法创建目录或文件的原因分析和解决办法(小提示:将磁盘格式由FAT32转换成NTFS格式是解决无法创建目录或文件的最佳办法): 1.磁盘为FAT32格式,很多MP3.U盘在复制文件时,容易产生这个问题(鼠标右键点击任意一个盘符,比如C盘,选择"属性",在弹出的对 话框中就可以查看到该磁盘属于哪种格式),因为理论上FAT32格式的盘符中根目录或任意一个文件夹中的文件数目不能超过65534个:假如磁盘格式为 FAT32,同时根目录或某一文件中文件数量接近65534个,在复制文件到该磁盘是就

C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名

原文:C# 文件操作(全部) 追加.拷贝.删除.移动文件.创建目录 修改文件名.文件夹名 本文也收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容Detele.读取文本文件.获取文件列表.读取日志文件.写入日志文件.创建HTML 文件.CreateDirectory方法的使用.修改文件或文件夹名称等方法使用..... C#追加文件 StreamWrit

C++检查某个文件或目录是否存在的函数_C 语言

本文实例讲述了C++检查某个文件或目录是否存在的函数代码,分享给大家供大家参考.具体实现方法如下: #include <Windows.h> BOOL FileExists(LPCTSTR lpszFileName, BOOL bIsDirCheck) { //试图取得文件属性 DWORD dwAttributes = ::GetFileAttributesA(lpszFileName); if ( INVALID_FILE_ATTRIBUTES == dwAttributes) { retu

php文件操作类(建立,写入,删除,修改,复制,移动,创建目录)

实例1  代码如下 复制代码 <?php    /*   文件名:ClassFile.php   功能:面向对象,文件操作类(查看文件,删除文件,上传文件)   作者:感染源   时间:2007-1-11  */    class ClassFile  {   private $dir_name;   private $file_name;   private $dh;   //private $file_path;       //构造函数,打开工作文件目录   function __cons

asp.net C#文件操作(追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件)

asp教程.net c#文件操作(追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件) c#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下 面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容detele.读取文本文件.获取文件列表.读取日志文件.写入日志文件.创建html 文件.createdirectory方法的使用 c#追加文件 streamwriter sw = file.appendtext(server.mappath(".")+

Linux C 创建目录函数mkdir相关【转】

转自:http://blog.csdn.net/fallenink/article/details/8480483 原文地址:http://sharp2wing.iteye.com/blog/1280802 ------------------------------------------------ I.Linux C 创建目录函数mkdir的mode设置问题  函数原型:  #include <sys/stat.h>  int mkdir(const char *path, mode_t

检查电脑是否被挂马的常用命令

一些基本的命令往往可以在保护网络安全上起到很大的作用,下面几条命令的作用就非常突出. 一.检测网络连接 如果你怀疑自己的计算机上被别人安装了木马,或者是中了病毒,但是手里没有完善的工具来检测是不是真有这样的事情发生,那可以使用 Windows自带的网络命令来看看谁在连接你的计算机. 具体的命令格式是:netstat -an这个命令能看到所有和本地计算机建立连接的IP,它包含四个部分--proto(连接方式).local address(本地连接地址).foreign address(和本地建立连

静态代码检查工具 FindBugs

使用 FindBugs的原因和方法   静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷.当然,如果有多年的编写经验,就会知道这些承诺并不是一定能兑现.尽管如此,好的静态分析工具仍然是工具箱中的无价之宝.在这个由两部分组成的系列文章的第一部分中,高级软件工程师 Chris Grindstaff 分析了 FindBugs如何帮助提高代码质量以及排除隐含的缺陷. 代码质量工具的一个问题是它们容易为开发人员提供大量但并非真正问题的问题--即伪问题(false positives).出现伪问题时