!!!我写的一个在搜索硬盘上的文件的软件为什么在搜索ntfs格式的时候会出现nullpointer错误,而fat32的不会
我写的一个搜索文件用的软件在fat32格式下使用的时候正常,不过在搜索ntfs格式的时候,先可以搜索点东西,不过等会就出现
java.lang.nullpointerException
这是怎么回事
问题点数:0、回复次数:17Top
1 楼batfree(没有计算机的程序员)回复于 2004-12-03 12:44:47 得分 0
不是很清楚,是不是安全问题呢?不过按理说不应该的,因为JAVA不在乎硬盘的存储方式的。Top
2 楼uruly(uruly)回复于 2004-12-03 17:05:32 得分 0
应该不是,因为可以搜索一些,不过好像过了几秒就不可以了Top
3 楼uruly(uruly)回复于 2004-12-05 10:43:38 得分 0
有没有人知道啊Top
4 楼uruly(uruly)回复于 2004-12-07 11:48:11 得分 0
急用啊Top
5 楼stone_lee(飞翔的牛)回复于 2004-12-07 14:00:36 得分 0
应该不会吧?我做的拷贝目录的函数,NTFS格式的目录也可以考得.Top
6 楼uruly(uruly)回复于 2004-12-07 16:35:40 得分 0
我的怎么会呢,看看我的代源,请你们看看有什么问题
public void search(String path)
{
file=new File(path);
String[] strlist;
strlist=file.list();
for(int i=0;i<strlist.length;i++)
{
childpath=path+"\\"+strlist[i];
childfile=new File(childpath);
if(childfile.isDirectory())
{
search(childpath);
}
else
// else{filename=childfile.getAbsolutePath();
{
filename=childfile.getAbsolutePath();
//System.out.println(childfile.getAbsolutePath()+filename);
try{if(filename.endsWith(".mp3"))
{num++;
toClient.println(num+" "+filename+"<br>");
toClient.flush(); }
//f.write((Integer.valueOf("\n")).intValue());
}catch(Exception e){}
}
}
}
}Top
7 楼uruly(uruly)回复于 2004-12-08 12:24:27 得分 0
帮忙啊Top
8 楼uruly(uruly)回复于 2004-12-09 12:37:50 得分 0
急用啊Top
9 楼whbxm2000(学星,向星,摘星,披星)回复于 2004-12-09 13:08:24 得分 0
for(int i=0;i<strlist.length;i++)
{
System.out.println(strlist[i]);//加上看看什么问题
childpath=path+"\\"+strlist[i];
childfile=new File(childpath);
if(childfile.isDirectory())
{
search(childpath);
}
else
// else{filename=childfile.getAbsolutePath();
{
filename=childfile.getAbsolutePath();
//System.out.println(childfile.getAbsolutePath()+filename);
Top
10 楼uruly(uruly)回复于 2004-12-09 16:53:16 得分 0
明白了,原来是磁盘里有个System Volume Information的文件夹不能访问才出现的这个问题,不知道为什么这个文件夹不能访问,有人知道吗?Top
11 楼Danken(科男)回复于 2004-12-09 17:01:50 得分 0
这个是windows的系统文件,描述磁盘本身信息Top
12 楼kaymo( 。。。 )回复于 2004-12-09 17:10:53 得分 0
nullpointer是异常,不是错误Top
13 楼louisbadbad(快乐就好)回复于 2004-12-09 17:14:56 得分 0
呵呵,我告诉你怎么做,你检查一下是不是hidden,也就是说你在if(childfile.isDirectory()&&childfile.isHidden())这样就可以了,而且你要知道别人也不希望你的软件可以搜寻hidden的东西!
Top
14 楼uruly(uruly)回复于 2004-12-10 12:22:51 得分 0
hidden的文件不很搜索吗?Top
15 楼iWANGLAN(偶像卡卡)回复于 2004-12-10 13:07:57 得分 0
java中的很多问题都没有得到很好的解决,比如以上问题。
希望新版java能够妥善解决好许多兼容性的问题。
毕竟很多人都是基于Windows开发的。Top
16 楼bengan(bin)回复于 2005-04-22 13:03:12 得分 0
收藏Top
17 楼humanity(城市边缘的狼)回复于 2005-04-23 01:39:57 得分 0
System Volume Information 是系统文件夹,好像是 NTFS 权限管理 起了限制左右 ,你不能读取文件,好像只能列举文件 (用 Administrator 账户都这样。). 它属于 System 账户。Top




