检测 Mono 中的符号链接和管道

2023-12-30

有没有办法使用 C# 和 Mono 来区分特殊文件,例如符号链接和管道?

该应用程序是一个多平台备份工具,因此我想避免使用互操作库或“C”DLL,并寻找直接托管代码解决方案。


经过更多研究后,我找到了解决方案。

添加参考MonoPosix项目可以访问某些 Unix 文件系统属性。

Mono.Unix.UnixSymbolicLinkInfo i = new Mono.Unix.UnixSymbolicLinkInfo( path );
switch( i.FileType )
{
   case FileTypes.SymbolicLink:
   case FileTypes.Fifo:
   case FileTypes.Socket:
   case FileTypes.BlockDevice:
   case FileTypes.CharacterDevice:
   case FileTypes.Directory:
   case FileTypes.RegularFile:
}

上面的代码有助于识别一系列特殊文件。

Using Unix符号链接信息很重要,因为两者Unix文件信息 and Unix目录信息在测试之前解析符号链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测 Mono 中的符号链接和管道 的相关文章

随机推荐

  • 如何修复本机客户端错误“连接正忙于处理另一个命令的结果”?

    我得到了一个Connection Busy With Results From Another Command当 SSIS 包运行时 来自 SQL Server Native Client 驱动程序的错误 仅当与 SQLServer 200
  • Libgdx Scene2d - 设置演员( TextField )填充?

    我在设置填充或类似于演员的东西时遇到了麻烦 找不到路 我想我可能必须在皮肤中添加一些东西 我有这个文本字段 textboxskin new Skin textboxskin add textfieldback new Texture dat
  • 如何在android中使用XML布局在图像视图中为图像制作圆角

    我已经尝试了很多次 但我知道我错过了一些东西 你们能解释一下吗 以下是我尝试过的
  • 对象是空的吗? [复制]

    这个问题在这里已经有答案了 检查对象是否为空的最快方法是什么 有没有比这更快更好的方法 function count obj obj var i 0 for var key in obj i return i 对于 ECMAScript5
  • 避免非虚拟析构函数的对象切片

    我正在为智能指针编写代码作为练习 使用在线教程 1 http www davethehat com articles smartp htm 2 http www codeproject com Articles 15351 Implemen
  • 你能在 mdbg 中看到评估堆栈吗?

    假设我有以下 CIL ldc i4 40 lt a breakpoint is set here ldc i4 2 add box int32 call void mscorlib System Console WriteLine stri
  • 使用 Android 提交至 Google 电子表格表单

    第一次在这里提问 通常我不用问就能找到答案 但这一次我陷入了困境 无法弄清楚我错过了什么 我只是想让我的 Android 应用程序在网站上填写表格并提交 我不需要应用程序对发回的任何数据执行任何操作 只需填写表格并提交即可 基本上我正在尝试
  • Dalvik JIT 工作流程

    我对 dalvik vm Android 感兴趣 我试图通过 JIT 的代码来找出它执行的操作以及它如何选择跟踪 我无法遵循代码 因此 我请求所有人帮助我建议 JIT 中执行跟踪选择和翻译的相关函数 你可以尝试 git log grep J
  • 调用命令行程序的Web应用程序框架

    我们正在设计一个 Java EE Web 应用程序 在 tomcat 上运行 它旨在成为命令行程序的网络界面 是否有任何框架 应用程序允许这样做 即 JSP 页面将在内部向安装在与 Tomcat 服务器相同的服务器上的程序发出命令 命令行是
  • 左连接和左外连接的区别

    我想知道mySQL中的LEFT JOIN和LEFT OUTER JOIN是否有什么区别 如果没有区别那为什么会有两种不同的方式呢 提前致谢 它们是相同的 我认为您想要放入 外部 的唯一原因是为了清楚起见 为了澄清联接中的第一个表不需要它在第
  • extjs 面板适合布局

    我有一个面板 我正在将它渲染到一个容器中 我想要panel以适应containerheight 并且不想指定高度panel 但似乎不起作用 有什么办法可以做到吗 代码片段 div style width 100 height 100 div
  • 将 CellRendererToggle 的单行设置为不一致

    在 Gtk 3 上 我使用的是TreeModel存储嵌套信息并用 a 显示它CellRendererText and a CellRendererToggle 用户可以单击每个切换按钮 当存在嵌套按钮并且它们不处于相同状态时 我希望上层按钮
  • React 暴露组件函数

    基于此链接上的示例http reactjs cn react tips expose component functions html http reactjs cn react tips expose component function
  • 带有列表项的 GWT 无序列表

    我完全坚持在 gwt 中创建 css 驱动的菜单 在渲染的结果中 它应该看起来完全像这样 div class topbar div class container fixed h3 a href class logo test a h3 u
  • 制作Python批处理文件

    如何创建一个bat文件来运行python文件 特别是包含pygame bat文件 Simple 只需将以下内容作为批处理文件的第一行 python x 0 goto eof 批处理文件的其余部分是 Python 程序 这是一个完整的例子 p
  • 捕获具有同一组的 和 (thisPartOnly)

    假设我们有以下输入
  • 在 JSF 中验证字段并抛出异常,但将错误消息附加到另一个字段?

    我的页面上有一些需要交叉验证的字段 但我不希望此验证中显示错误
  • 如何从球衣servlet中的curl请求中提取参数?

    我正在以表格形式向我的球衣 servlet 发出一个curl post Restful请求 curl i X POST d debit user id custome mobile number 917827448775 http loca
  • Hive 将 ORC 文件分割成小部分

    create table n data MARKET string CATEGORY string D map
  • 检测 Mono 中的符号链接和管道

    有没有办法使用 C 和 Mono 来区分特殊文件 例如符号链接和管道 该应用程序是一个多平台备份工具 因此我想避免使用互操作库或 C DLL 并寻找直接托管代码解决方案 经过更多研究后 我找到了解决方案 添加参考MonoPosix项目可以访