求java大神,关于se中的文件操作,该如何处理
求java大神,关于se中的文件操作
我的问题是File的构造函数中,e:和e:\\ 的区别是什么?还有为什么打印出的文件列表会出现以$开头的文件,但是在窗口中并未出现(已经设置了隐藏文件可见),以及这些文件有什么作用。望大神解答
------解决思路----------------------
java 8 运行.
listFiles()只是返回的当前目录的,如果你还要遍历下级目录的就需要在下级遍历。
对于$RECYCLE.BIN,是系统文件,是可以显示的.
如果还有问题,你把你的运行截图和截图发一下吧
------解决思路----------------------
经测试, 如果当前路径包含在e盘下, 像5楼那样, 那么e:会打印当前目录下的文件, 而e:\\会打印e盘下的文件
如果5楼测试的c:和c:\\ 或者 d:和d:\\ 等等, 那么得到的结果就是一样的....
------解决思路----------------------
确实是这样,看来跟当前路径有关,也就是说e:代表e盘的当前路径,e:\\代表e盘的根目录。
以前用dos时,在d:\>下,用cd abc命令进入一个目录,提示符会变化,变为d:\abc>,这时跳转到其他盘,进行一些操作,再返回来时,还是进入d:\abc这个目录,这个目录就是d盘的当前路径。
import java.io.*;
class FileDemo4
{
public static void main(String[] args)
{
File f = new File("e:");
digui(f);
}
public static void digui(File f)
{
System.out.println(f.getPath());
File [] name = f.listFiles();
System.out.println(name.length);
for(int i = 0 ;i < name.length; i++)
{
System.out.println(name[i]);
}
}
}
我的问题是File的构造函数中,e:和e:\\ 的区别是什么?还有为什么打印出的文件列表会出现以$开头的文件,但是在窗口中并未出现(已经设置了隐藏文件可见),以及这些文件有什么作用。望大神解答
------解决思路----------------------
java 8 运行.
listFiles()只是返回的当前目录的,如果你还要遍历下级目录的就需要在下级遍历。
对于$RECYCLE.BIN,是系统文件,是可以显示的.
如果还有问题,你把你的运行截图和截图发一下吧
/**
* Created by puruidong on 2015/4/28.
*/
public class TestDemo {
public static void main(String[] args) {
dits(new File("H:"));
//dits(null);
}
/**
* 遍历目录.
*
* @param f
*/
public static void dits(File f){
if(f==null)
throw new NullPointerException("空对象,在检查下");
System.out.println(f.getParent()==null ?"没有上级目录":f.getParent());
//输出目录下面的文件列表.
Arrays.asList(f.listFiles()).forEach(x-> System.out.println(x));
}
}
------解决思路----------------------
经测试, 如果当前路径包含在e盘下, 像5楼那样, 那么e:会打印当前目录下的文件, 而e:\\会打印e盘下的文件
如果5楼测试的c:和c:\\ 或者 d:和d:\\ 等等, 那么得到的结果就是一样的....
------解决思路----------------------
以前用dos时,在d:\>下,用cd abc命令进入一个目录,提示符会变化,变为d:\abc>,这时跳转到其他盘,进行一些操作,再返回来时,还是进入d:\abc这个目录,这个目录就是d盘的当前路径。