JAVA 网络驱动器 读写文件

code1:


File f = new File("z:/iamge");
if(f.mkdir())
System.out.println("success");


code2:

File cs = new File("z:/image");
File f = new File(cs.getAbsolutePath());
if(f.mkdir())
{ System.out.println("success"); }


code3:

File cs = new File("//192.168.1.111/test/image");
File f = new File(cs.getAbsolutePath());
if(f.mkdir())
System.out.println("success");



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

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

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

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

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

你可能感兴趣的:(JAVA,Java,Tomcat,F#,Windows)