JAVA 网络驱动器 读写文件

本文探讨了在Java中使用File对象在Windows网络驱动器上创建目录时遇到的问题。通过示例代码1、2和3,展示了不同情况下的创建策略。code1在映射的网络驱动器上可能失败,而code2在某些环境下(如Win2003上的Tomcat)同样无效。最后,code3成功创建目录,即使Tomcat使用普通用户身份运行。此外,尝试在网络驱动器上使用f.createNewFile()会导致IOException。
摘要由CSDN通过智能技术生成

code1:

code2:

 

  

code3:

 

 

首先来看code1,一般的情况下我们会使用这种方式来创建不存在的目录,如果Z盘符是通过windows共享的文件,然后映射到本地的盘符时,这个时候就不能创建成功,即使是这个目录不存在.

这个时候把代码改成code2,这样就是能创建成功了,但是把这些code2放在win2003上,而且是部署到tomcat上,这个时候发现根本就不能创建成功.但是我在win2003对这个网络的映射出来的盘符是有读写的权限的,当我在win2003上使用cmd去运行同样的code,耶,居然能创建.

这个时候在网上看到:windows2003的安全比较高,所以本身屏蔽了比较多的服务,而且对登录程序的用户也又限制.默认的登录tomcat的帐户应该是system用户(没有具体查证),本地帐户不具有访问网络的权限.于是我把tomcat的登录用户改成administrator,但是还是没有解决,汗.

于是换成code3,OK,居然可以创建目录,即使这个时候tomcat的登录用户是普通的登录用户.

还有个问题是,当是网络驱动器上的目录时,使用f.createNewFile();这个时候老是报IOException,呵呵,不过现在时间比较紧,用空也可以研究下.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值