黑马程序员技术交流社区
标题:
新手,File类问题?
[打印本页]
作者:
谢洋
时间:
2013-3-5 11:05
标题:
新手,File类问题?
本帖最后由 谢洋 于 2013-3-6 13:06 编辑
public class FileTest {
public static void main(String[] args) throws Exception {
File file = new File("myfile\\file.txt");
file.mkdir();
System.out.println(file.isFile());//false
System.out.println(file.isDirectory());//false 为什么?,下面还可以打印出结果
System.out.println(file.getName());
System.out.println(file.getPath());//myfile\file.txt
System.out.println(file.getParent());//myfile
System.out.println(file.getAbsolutePath());//D:\eclips\works1\mytest\myfile\file.txt
}
}
为什么mkdir后的myfile\\file.txt不是目录,但下面还能打印出目录路径,名字等??
作者:
杨杨
时间:
2013-3-5 11:33
改为 System.out.println(file.mkdirs());//ture
file.mkdir();//false
创建此抽象路径名指定的目录。
也就说 这个目录不存在
boolean mkdirs()
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
System.out.println(file.isDirectory());//false 为什么?,下面还可以打印出结果
是存在于内存中的对象 还没有 执行在硬盘中操作
作者:
张晋瑜
时间:
2013-3-5 11:44
我拿你的代码运行了一下,System.out.println(file.isDirectory());打印结果是
true
;相当于计算机把“myfile\file.txt”当作目录名了
如果把myfile\\file.txt 改成myfile/file.txt 的话才是打印出
fasle
(这么说的话,你应该是在windows环境了,就是相当于我的这种情况)
为什么你的打印出
fasle
? 我想:目录名中是不能出现“.”这个符号的
之所以System.out.println(file.getAbsolutePath());可以打印出来,那是因为文件名也是路径的一部分啊
作者:
全超
时间:
2013-3-6 00:51
本帖最后由 全超 于 2013-3-6 00:54 编辑
不知能否帮到忙。。
public class FileTest {
public static void main(String[] args) throws Exception
{
File file = new File("myfile\\file.txt");//File对象中封装的是一个二级目录因为有“\\”
file.mkdir();//首先这一步就是false(创建失败),mkdir()这个方法只能创建一级目录
//如果上步改为mkdirs()即可创建多级目录成功
//判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。
System.out.println(file.isFile());//false:为什么?
//只是内存中有这个对象,但硬盘上不存在文件或文件夹,无法判断即为假!
System.out.println(file.isDirectory());//false 道理同上!
System.out.println(file.getName());//内存中已经有这个对象,所以可以获取
System.out.println(file.getPath());
System.out.println(file.getParent());
System.out.println(file.getAbsolutePath());
}
}
作者:
谢洋
时间:
2013-3-6 13:05
全超 发表于 2013-3-6 00:51
不知能否帮到忙。。
public class FileTest {
public static void main(St ...
谢谢,说得很清晰
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2