package file; import java.io.File; import java.io.IOException; public class FileMkdirSapmle1 { public static void main(String[] args) { File f1 = new File("d:" + File.separator + "filetest9"+File.separator +"filetest10"); // 生成 File类的实例 f1.getParentFile().mkdirs(); //加了getParentFile(),生成的是文件夹里有文件 //f1.mkdirs(); // 不加getParentFile(),生成的是两个文件 System.out.println(f1.getParent()); //讲解getParentFile()和getParent()的区别 try { f1.createNewFile(); // 创建文件 } catch (IOException e) { e.printStackTrace(); } } }
上面写错了,不加getParentFile,生成的是两个文件夹
专业回答
getParentFile()的作用是获得父目录
问题就是.mkdirs(); 这个方法只能生成一层一层的文件夹,不能生成文件,而你的file对象路径是直接到文件那一层的,不用getParentFile()获得父目录的话,就会想你说的那样生成两个文件夹而不是你想要的文件,所以要先调用getParentFile()获得父目录,用.mkdirs()生成父目录文件夹,最后把你想要的文件生成到这个文件夹下面,就是想要的结果。
问题就是.mkdirs(); 这个方法只能生成一层一层的文件夹,不能生成文件,而你的file对象路径是直接到文件那一层的,不用getParentFile()获得父目录的话,就会想你说的那样生成两个文件夹而不是你想要的文件,所以要先调用getParentFile()获得父目录,用.mkdirs()生成父目录文件夹,最后把你想要的文件生成到这个文件夹下面,就是想要的结果。
2014-12-24 16:09
提问者采纳
getParentFile() 的作用是获得父目录 问题就是.mkdirs(); 这个方法只能生成一层一层的文件夹,不能生成文件,而你的file对象路径是直接到文件那一层的,不用getParentFile()获得父目录的话,就会想你说的那样生成两个文件夹而不是你想要的文件,所以要先调用getParentFile()获得父目录,再用.mkdirs()生成父目录文件夹,最后把你想要的文件生成到这个文件夹下面,就是想要的结果了,懂了么,我描述能力比较弱,哪里不懂再问哈
追问:
生成的父目录文件夹就是filetest9么?
追答:
对
-
提问者评价
-
大概懂了吧T,T谢谢
package file; import java.io.File; import java.io.IOException; public class FileMkdirSapmle1 { public static void main(String[] args) { File f1 = new File("d:" + File.separator + "filetest9"+File.separator +"filetest10"); // 生成 File类的实例 f1.getParentFile().mkdirs(); //加了getParentFile(),生成的是文件夹里有文件 //f1.mkdirs(); // 不加getParentFile(),生成的是两个文件 System.out.println(f1.getParent()); //讲解getParentFile()和getParent()的区别 try { f1.createNewFile(); // 创建文件 } catch (IOException e) { e.printStackTrace(); } } }
上面写错了,不加getParentFile,生成的是两个文件夹
专业回答
getParentFile()的作用是获得父目录
问题就是.mkdirs(); 这个方法只能生成一层一层的文件夹,不能生成文件,而你的file对象路径是直接到文件那一层的,不用getParentFile()获得父目录的话,就会想你说的那样生成两个文件夹而不是你想要的文件,所以要先调用getParentFile()获得父目录,用.mkdirs()生成父目录文件夹,最后把你想要的文件生成到这个文件夹下面,就是想要的结果。
问题就是.mkdirs(); 这个方法只能生成一层一层的文件夹,不能生成文件,而你的file对象路径是直接到文件那一层的,不用getParentFile()获得父目录的话,就会想你说的那样生成两个文件夹而不是你想要的文件,所以要先调用getParentFile()获得父目录,用.mkdirs()生成父目录文件夹,最后把你想要的文件生成到这个文件夹下面,就是想要的结果。
2014-12-24 16:09
提问者采纳
getParentFile() 的作用是获得父目录 问题就是.mkdirs(); 这个方法只能生成一层一层的文件夹,不能生成文件,而你的file对象路径是直接到文件那一层的,不用getParentFile()获得父目录的话,就会想你说的那样生成两个文件夹而不是你想要的文件,所以要先调用getParentFile()获得父目录,再用.mkdirs()生成父目录文件夹,最后把你想要的文件生成到这个文件夹下面,就是想要的结果了,懂了么,我描述能力比较弱,哪里不懂再问哈
追问:
生成的父目录文件夹就是filetest9么?
追答:
对
-
提问者评价
-
大概懂了吧T,T谢谢