当前位置: 首页 > news >正文

专注WordPress网站建设开发中国十大电商平台排名

专注WordPress网站建设开发,中国十大电商平台排名,邢台招聘信息网,好看网电影网站模板免费下载前言 这一次主要是碰到一个问题。因为使用jsch去读取文件的时候,有一些文件它是使用软链接制作的一个映射。因为这里面有一个问题。如果它是软链接你就无法判断他到底是文件。还是文件夹?因为他没有提供可以直接读取的方法,用权限信息去判断…

前言

这一次主要是碰到一个问题。因为使用jsch去读取文件的时候,有一些文件它是使用软链接制作的一个映射。因为这里面有一个问题。如果它是软链接你就无法判断他到底是文件。还是文件夹?因为他没有提供可以直接读取的方法,用权限信息去判断,文件和文件夹都是l开头,所以这一篇博客的主要目的是介绍如何去处理软链接。判断是实际的文件还是文件夹。

遇到的问题

从Jsch的参数来看,首先这里他提供的一些Is link是为true的。但是判断是文件还是文件夹,全部都会frse,这个就比较苦恼了。一开始我还在想,他会不会没有提供对应的方法?这样我就很难搞了,我还得去找作者去提一手,然后就让他去解决,这时间可就太漫长了。

接着这是Linux系统的一个文件目录。可以看到有一些目录,它是做了一个链接映射的。

实际测试发现他是软件链接目录isDirisFile方法都是false哦,我明白了在这种情况下,可以尝试使用SftpATTRS对象的getAttrs()方法来获取软链接路径,然后通过readlink()方法来确定实际指向的文件或目录的属性信息,然后判断实际文件或目录的类型。

解决方案

仔细的搜索之下。他可以先去读取这个文件的一个链接,获得实际的路径。有了这个链接的实际路径就好办了,我就可以根据他的实际的路径去判断它到底是文件还是文件夹,虽然复杂繁琐了一点,但是总比没有好吧。总算也算是一个解决方案吧。

示例代码

以下是一个示例代码,演示了如何使用JSch库来获取软链接指向的实际文件或目录的属性信息:

import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpATTRS;public class SftpExample {public static void main(String[] args) {String host = "your_hostname";String username = "your_username";String password = "your_password";try {JSch jsch = new JSch();Session session = jsch.getSession(username, host, 22);session.setPassword(password);session.setConfig("StrictHostKeyChecking", "no");session.connect();ChannelSftp channel = (ChannelSftp) session.openChannel("sftp");channel.connect();SftpATTRS attrs = channel.lstat("/path_to_symbolic_link");if (attrs.isLink()) {String targetPath = channel.readlink("/path_to_symbolic_link");SftpATTRS targetAttrs = channel.lstat(targetPath);if (targetAttrs.isDir()) {System.out.println("Symbolic link points to a directory");} else {System.out.println("Symbolic link points to a file");}}channel.disconnect();session.disconnect();} catch (Exception e) {e.printStackTrace();}}
}

在这个示例中,我们首先通过SftpATTRS对象的isLink()方法判断是否是软链接,然后使用channel.readlink()方法获取软链接指向的实际文件或目录的路径,并通过channel.lstat()方法获取其属性信息,最后判断实际文件或目录的类型。

总结一下

一开始我都打算直接用文件类去读取这个路径,去判断它到底是否方是否是文件或者文件夹。但是这样就会有一个问题。如果我用文件去读取的这个文件跟我这个程序运行的用户相冲突的话,这结果就不太准确,因为如果用程序的用户去读取,可能会存在一个权限问题。但是这个读取链接的方式就完美的解决了这个问题。总算解决了一个痛点。

最后

点赞关注评论一键三连,每周分享技术干货、开源项目、实战经验、国外优质文章翻译等,您的关注将是我的更新动力

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

http://www.yayakq.cn/news/94270/

相关文章:

  • 企业网站建设规划书的内容像网站的ppt怎么做
  • 交易网站的建设规划做网站每天都要花钱么
  • 做ppt找图片的网站有哪些wordpress同分类文章
  • 海南网站制作公司iis7.5网站配置
  • 网站建设制作的标准有哪些商业网站教程
  • 做轻淘客网站要多大的空间wordpress2012主题二次开发
  • 禹州网站建设wordpress ckvideo
  • 青岛网站建设的流程有哪些phpstudy安装wordpress
  • 网站建设中网站需求分析报告功能自己理解福州市住房和城乡建设局网站
  • 湘潭网站建设 多少费用磐石网络改革开放40周年网站发展建设
  • 深圳网站建设怎么做如何选择五屏网站建设
  • 网络营销策划书1000字怎么优化一个网站
  • 站长之家网站介绍小网站搜什么关键词
  • sqlite 网站开发网站建设时间查询
  • win7如何做网站wordpress 随机播放器
  • 微信网站特征早教网站源码
  • 淘宝导购网站模板做网站的工具怎么使用
  • 网站设计的公司北京网站建设中图片尺寸
  • 试用型网站wordpress 弹性布局设计案例
  • 404做的好的网站php+html转+wordpress
  • 淘宝网官方网站网页版wordpress打开xml-rpc
  • 贵阳网站建设q479185700棒梅州建设工程交易中心网站
  • 网站交互做的比较好的学网站开发前景
  • 删除的网站做404浏阳商务局网站溪江农贸市场建设
  • 网站模板怎么用法谷歌推广代运营
  • 辽宁手机响应式网站建设做制作网站找啥工作
  • 网站推广和精准seo网站如何免费做SEO优化
  • 营销型企业网站的策划方案外贸seo网站推广
  • 如何申请域名建立网站济源网站维护
  • 谷歌提交网站网上做娱乐广告的网站