file.isDirectory()为什么老是false?

maosenmin 2009-07-23 05:52:06
我在本地上用MyEclipse+Tomcat环境,用Struts2+Hibernate+Spring做的项目,有个功能是读取文件夹路径(如:D:\Program Files\Tencent或\\Server\business等,Tencent下有大量txt文件要读取)的,我记录的日志是可以区分是不是路径 File file = new File(filePath); //filePath就是上面的D:\Program Files\Tencent或\\Server\business
用file.isDirectory()来判断,本地一切正常,但当我移动服务器上时,这个就不行了(注:D:\Program Files\Tencent这样的服务器可以分辨出来,但\\Server\business的它就老是说不是目录了),很是郁闷,搞了一下午,还没办法,不知哪里出了问题,烦请各位老手帮帮忙。谢谢!
...全文
2234 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqbchina 2010-08-26
  • 打赏
  • 举报
回复
太谢谢了,我和你同样的问题,只是我是上传,你是下载,问题解决了!
zl3450341 2009-07-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 providencezy 的回复:]
尽量使用File.separator来代替"/",不同的环境分隔符是不一样的!
[/Quote]

学习了
zhang235337 2009-07-29
  • 打赏
  • 举报
回复
上楼正解
maosenmin 2009-07-29
  • 打赏
  • 举报
回复
我在23樓已經說過,Local System帳號的部份特性。所有像我這種情況下,就不能用Local System了。
maosenmin 2009-07-29
  • 打赏
  • 举报
回复
我安裝Tomcat的電腦有用戶名,直接登錄安裝Tomcat,安裝完後,Tomcat的登入身份默認為本機系統,這時需要修改Tomcat的登入身份為Administrator下的權限。
  • 打赏
  • 举报
回复
你是什么权限
xuexijava 2009-07-28
  • 打赏
  • 举报
回复
关注
随风醉舞 2009-07-28
  • 打赏
  • 举报
回复
你服務器與自己本機裝的系統肯定不一樣!
獲得file路徑時,獲得絕對路徑試試
清水无语1 2009-07-28
  • 打赏
  • 举报
回复
java 分隔符用/ 至少 windows+aix+linux 都可以认得, 并且没有了转意的困扰
maosenmin 2009-07-28
  • 打赏
  • 举报
回复
经过查找,得到以下内容:
Local System 账号是内置的系统账号,所有系统进程都在 Local System 的安全环境中运行,Local System 账号是用于启动服务的默认账号,它继承了服务控制管理器的安全环境,在本地计算机上拥有几乎无限的权限。在 Local System 账号环境运行的进程没有与任何已登录的用户账号相联系,没有用于验证的信任凭证(用户名、域和密码),而该信任凭证(credential)用于网络上其他计算机的验证,这样以 Local System 账号运行的进程就不能访问网络资源,如网络共享。 这个说的非常明显,希望我这个也能对有碰到类似问题的同仁起到一定的帮助。
maosenmin 2009-07-27
  • 打赏
  • 举报
回复
问题上礼拜六解决了,没有及时写出来。
非常感谢各位的积极发言帮助也给予了我很大帮助,但问题的解决是另外的原因。
就是服务项目下的Apache Tomcat的登入身份的问题,开始时默认的是本地系统,这个是不行的,我设成超级管理员权限就可以了。
jinchun1234 2009-07-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 providencezy 的回复:]
尽量使用File.separator来代替"/",不同的环境分隔符是不一样的!
[/Quote]

maosenmin 2009-07-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jinxfei 的回复:]
是不是没有权限?
[/Quote]是指什么权限?
maosenmin 2009-07-25
  • 打赏
  • 举报
回复
是同一IP段,那个是Windows 2003以前专门的服务器(资料都在上面),而我们平时用的都是XP的。在生产环境下都有登录到那台服务器,并且那些目录文件都可以读取,但好像程序没有识别出来。
maosenmin 2009-07-25
  • 打赏
  • 举报
回复
恩,是的,Web应用程序和要读取的那个目录文件可能会不的同一台机子上。我昨天后来有测试一些,本来在生产环境下没有MyEclipse的,就是那个读取目录有问题,如果把MyEclipse也安装的话,然后发布启动,则可以读取,但我在MyEclipse中的Window--》preferences那下面设置了Tomcat为我安装的Tomcat。为什么我关掉MyEclipse后直接启动Tomcat就又不能读取那个目录呢?
wkchina 2009-07-25
  • 打赏
  • 举报
回复
从A主机访问B主机的目录?
是不是存在跨域调用的问题,
不用代理页怕是会出权限不足的问题
iskyshop 2009-07-24
  • 打赏
  • 举报
回复
尽量使用File.separator来代替"/",不同的环境分隔符是不一样的!
jinxfei 2009-07-24
  • 打赏
  • 举报
回复
是不是没有权限?
阿士匹灵 2009-07-24
  • 打赏
  • 举报
回复
在看

今天老总请吃饭

喝了一些酒
有点晕

呵呵

明天再仔细看看

不好意思
maosenmin 2009-07-24
  • 打赏
  • 举报
回复
\\Server\business是在另外一台服务器上的资料,也登录了,我在开发平台上(机子A)测试正常,就是移到另一台机子(B)上(直接部署到Tomcat上,没有MyEclipse了),读取目录文件夹就是不行,但我把文件夹放到B的磁盘里时,然后在程序里也给写死,然后重新发部,运行就可以读取文件夹(如:D:\File\Down……),就是不能读取(\\Server\business)这样的文件夹,但那个绝对路径,然后直接访问又是可以打开目录的。真是急了,没辙了。高手们,讨论讨论吧。
加载更多回复(12)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧