java如何识别Linux下的文件夹是真正的文件夹还是"链接"???
windows下的某个文件夹或文件的"快捷方式", java.io.File 认为是.lnk的文件.
而linux下的某个文件夹的“链接”,java.io.File 认为是文件夹.
linux下的链接内容如下:格式非常简单
---------------
IntxLNK<路径>
如何才能确定它是文件夹还是文件夹的链接???
[解决办法]
标记,学习。
[解决办法]
不晓得
[解决办法]
需要用到Sun公司的专用类库,包含在JDK中的
sun.awt.shell.ShellFolder 这个类。
要获得一个文件是否是链接,可以使用以下方法:
- Java code
File file = new File("a file path");//new 一个File对象ShellFolder sf = ShellFolder.getShellFolder(file);boolean isLink = sf.isLink();//如果想获得链接文件的真实文件,可以如下:File realFile = null;if(isLink){ realFile = sf.getLinkLocation();}
[解决办法]
Windows下的快捷方式文件内容太复杂,通过扩展名判断不保险,
用ShellFolder这个类很方便。
哦,对了,这个类的父类是java.io.File
[解决办法]
ln 是允许硬链接的。所以如果对操作没有影响,不用关心这个。
如果是进行目录复制,就比较麻烦了。看看3楼的,没用过,不过看回复,他本人应该有这方面的经验!