java如何识别Linux下的文件夹是真正的文件夹还是"链接"???

iwlk 2008-06-03 12:57:15
windows下的某个文件夹或文件的"快捷方式", java.io.File 认为是.lnk的文件.

而linux下的某个文件夹的“链接”,java.io.File 认为是文件夹.

linux下的链接内容如下:格式非常简单
---------------
IntxLNK<路径>


如何才能确定它是文件夹还是文件夹的链接???
...全文
391 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yebanghua 2012-02-26
  • 打赏
  • 举报
回复
http://blog.csdn.net/yebanghua/article/details/7295873
我写的
iwlk 2008-06-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qusic 的回复:]
Windows下的快捷方式文件内容太复杂,通过扩展名判断不保险,
用ShellFolder这个类很方便。
哦,对了,这个类的父类是java.io.File
[/Quote]

在windows下面,如果是个无效的快捷方式.. 它即然弹出个对话框"快捷方式存在问题".. 我倒

呵呵。 也不错了。 我主要是解决linux下的问题。
老紫竹 2008-06-03
  • 打赏
  • 举报
回复
ln 是允许硬链接的。所以如果对操作没有影响,不用关心这个。

如果是进行目录复制,就比较麻烦了。看看3楼的,没用过,不过看回复,他本人应该有这方面的经验!
qusic 2008-06-03
  • 打赏
  • 举报
回复
Windows下的快捷方式文件内容太复杂,通过扩展名判断不保险,
用ShellFolder这个类很方便。
哦,对了,这个类的父类是java.io.File
qusic 2008-06-03
  • 打赏
  • 举报
回复
需要用到Sun公司的专用类库,包含在JDK中的
sun.awt.shell.ShellFolder 这个类。
要获得一个文件是否是链接,可以使用以下方法:

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();
}

BobO_Keyboard 2008-06-03
  • 打赏
  • 举报
回复
不晓得
lisl2003 2008-06-03
  • 打赏
  • 举报
回复
标记,学习。

62,634

社区成员

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

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