java中File 类的getParentFile()方法

getParentFile()的作用是获得父目录

问题就是.mkdirs(); 这个方法只能生成一层一层的文件夹,不能生成文件,而你的file对象路径是直接到文件那一层的,不用getParentFile()获得父目录的话,就会想你说的那样生成两个文件夹而不是你想要的文件,所以要先调用getParentFile()获得父目录,用.mkdirs()生成父目录文件夹,最后把你想要的文件生成到这个文件夹下面,就是想要的结果。

java.io.File.getParentFile() 方法返回此抽象路径名的父抽象路径名,或如果此路径名没有指定父目录则为null。

声明以下是java.io.File.getParentFile()方法的声明:

public File getParentFile()参数•NA
返回值此方法返回此抽象路径名的父目录的抽象路径名,或如果路径名没有指定父则为null。

异常•NA

例子

String fileName="new .txt";
String dir="mydir1/mydir2";
File f=new File(dir,fileName);
当我直接
f.mkdirs();后
new .txt也变成了目录
而f.getParentFile().mkdirs();
只有mydir1/mydir2的目录

例子

下面的示例演示java.io.File.getParentFile()方法的用法。

package com.yiibai;

import java.io.File;

public class FileDemo {
   public static void main(String[] args) {
     
      File f = null;
      File f1 = null;
      String v;
      boolean bool = false;
     
      try{
         // create new file
         f = new File("C:\test.txt");
        
         // returns abstract parent pathname
         f1 = f.getParentFile();
        
         // absolute path from abstract pathname
         v = f1.getAbsolutePath();
        
         // true if the file path exists
         bool = f.exists();
        
         // if file exists
         if(bool)
         {
            // prints
            System.out.print("Parent file path: "+v);
         }
      }catch(Exception e){
         // if any error occurs
         e.printStackTrace();
      }
   }
}

让我们编译和运行上面的程序,这将产生以下结果:

Parent file path: C:

时间: 2024-11-08 20:26:53

java中File 类的getParentFile()方法的相关文章

java中File类的使用方法_java

构造函数 复制代码 代码如下: public class FileDemo {     public static void main(String[] args){         //构造函数File(String pathname)         File f1 =new File("c:\\abc\\1.txt");         //File(String parent,String child)         File f2 =new File("c:\\a

java中File类中的常用的方法

1.创建  boolean createNewFile();在指定路径创建文件,如果文件已经存在,则不创建,返回false.输出流                          对象一旦创建,如果文件存在,则会覆盖.  boolean mkdir():创建一级文件夹  boolean mkdirs():创建多级文件夹 调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等.  代码如下 复制代码 import j

java中看到类写在方法里面的类是什类啊

问题描述 java中看到类写在方法里面的类是什类啊 java中看到类写在方法里面的类是什类啊 void func (){class lei } 解决方案 方法内部的内部类的可见性更小,它只在方法内部可见,在外部类(及外部类的其它方法中)中都不可见了.同时,它有一个特点,就是方法内的内部类连本方法的成员变量都不可访问,它只能访问本方法的final型成员.同时另一个需引起注意的是方法内部定义成员,只允许final修饰或不加修饰符,其它像static等均不可用. 解决方案二: 内部类(匿名内部类) 解

关于java中File类小问题

问题描述 关于java中File类小问题 File f2 = new File("c:abc","b.txt"); f2.createNewFile(); 为什么以上代码同时执行会报错? 解决方案 java 小问题Java小问题java中的小问题 解决方案二: 你的abc目录存在吗 解决方案三: 总感觉应该来个if 是否存在 的判断比较好,而且还要处理异常 解决方案四: 先判断一下是否存在,然后在创建.应该就可以了. 解决方案五: 报错信息放下来看看 new Fil

java监听-java中匿名类作为一个方法的参数的时候是不是默认返回一个匿名对象

问题描述 java中匿名类作为一个方法的参数的时候是不是默认返回一个匿名对象 java中匿名类作为一个方法的参数的时候是不是默认返回一个匿名对象 比如用在监听方法当中作为参数的时候 解决方案 可以这么理解,通常是创建一个匿名类的实例然后作为参数传递给指定方法 . 解决方案二: 匿名类,作为参数是返回相应的匿名对象. 具体还是要看调用的函数有参数要求吧,参数是一个对应的匿名类,或者其父类,使用它就没有问题.

Java中ArrayList类的使用方法_java

Java中ArrayList类的用法 1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2.如何使用ArrayList 最简单的例子: ArrayList List = new ArrayList(); for( int i=0;i <10;i++ ) //给数组增加10个Int元素 List.Add(i); //..

java-JAVA中Collections类的“synchronizedXXXX”方法有什么用处?

问题描述 JAVA中Collections类的"synchronizedXXXX"方法有什么用处? 解决方案 ArrayList对象不是线程安全的,但Collection.synchronizedXXX方法可以把它转成线程安全的对象. 上面的代码没用多线程,Collection.synchronizedXXX的用法也不对,所以在这段代码里其实没什么作用. 参见:http://my.oschina.net/infiniteSpace/blog/305425 解决方案二: 这是同步的方法,

java中类似C的write方法,有没有!!

问题描述 C语言write函数:write(intfd,constvoid*buf,size_tnbytes)write函数将buf中的nbytes字节内容写入文件描述符fd.成功时返回写的字节数.失败时返回-1.并设置errno变量.在网络程序中,当我们向套接字文件描述符写时有俩种可能.1)write的返回值大于0,表示写了部分或者是全部的数据.2)返回的值小于0,此时出现了错误.我们要根据错误类型来处理.如果错误为EINTR表示在写的时候出现了中断错误.如果为EPIPE表示网络连接出现了问题

Java中获取类路径classpath的简单方法(推荐)_java

如下所示: <SPAN style="FONT-SIZE: 18px"> System.out.println("++++++++++++++++++++++++"); String path = System.getProperty("java.class.path"); String path2 = FreeMarkerWriter.class.getProtectionDomain().getCodeSource().getLo