问题标签 [hfs+]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
3816 浏览

python - 检查文件系统在 Python 中是否不区分大小写

如果文件系统不区分大小写,是否有一种简单的方法来检查 Python?我特别考虑像 HFS+ (OSX) 和 NTFS (Windows) 这样的文件系统,即使文件大小写被保留,您也可以在其中访问与 foo、Foo 或 FOO 相同的文件。

0 投票
1 回答
841 浏览

filesystems - 从混合视频 DVD 安装 HFS+ 和 UDF

我开发了一个 Mac 软件(使用 DiscRecordingFramework 和 IOKit)来创建混合 Video-DVD。生成的 DVD 与 Video-DVD 规范完全兼容。混合磁盘托管 HFS+、UDF 和 ISO 文件系统。现在的问题是 Mac 系统自动挂载 HFS+ 文件系统,但 Mac 上的默认 DVD 播放器无法从 HFS+ 文件系统播放受 CSS 保护的电影。作为一种解决方法,我开发了一个脚本,它可以将 UDF 文件系统与 HFS+ 文件系统一起安装。该脚本实际加载 UDF2.1 内核扩展并挂载 UDF 文件系统。该解决方案有效,但不可取,因为它需要 root 密码。

是否可以开发一种自动检测混合磁盘并同时安装 HFS+ 和 UDF 文件系统的解决方案?此解决方案不应损害系统安全性。如果它一生中需要 root 密码一次,那是可以的,但如果每次使用磁盘时都需要 root 密码,则不可取。

任何帮助将不胜感激。

0 投票
0 回答
279 浏览

macos - MacOsX HFS+ 通过在末尾添加哈希符号和数字来破坏长 utf-8 文件名

我是 MacOsX 10.6 的用户。前段时间我发现我无法获取 git changes

我做了一些研究,我认为问题在于 UTF-8 字符。我试图创建新文件

文件看起来已损坏。它的末尾有一些数字。您可以复制它,例如:

当我通过 vim 编辑器成功打开“132_chars_file_name_with_numbers_at_the_end”并对其进行编辑时。但是当我输入 ":wq" 文件时消失了。

有一些解决方法吗?我该如何解决?

0 投票
3 回答
1432 浏览

macos - OS X - 如何计算标准化文件名

我需要在 Windows 和 OS X 上生成的文件名之间创建映射。我知道 OS X “将所有文件名转换为分解的 Unicode”,但是“大多数卷格式不遵循这些正常形式的确切规范”

因此,使用标准 UTF8 API 将 Windows 名称转换为 NFD 并确保我拥有正确的 OS X 名称似乎不是一件简单的事情。有没有办法确定实际的 OS X 文件名,而无需在文件系统中实际创建文件,然后扫描目录以查看实际创建的内容?

0 投票
1 回答
2650 浏览

macos - mac osx 上的 git:如何将文件名案例推送到原点?

我已经更改了 git 存储库中某些目录的大小写。然后我推送它们并注意到未更新的情况。

然后我发现了这个问题: git mv and only change case of directory

我已按照以下建议使用:

但 git 服务器不是成功返回:

我现在可以做些什么来更新案例而不破坏我的 git 存储库?

问候,

博多

PS:为避免以后出现此问题,您可以使用:

0 投票
1 回答
344 浏览

iphone - Is it possible to create a copy-on-write copy of a file on an iOS device?

I need to copy a file that will be modified later on an iOS device. For performance reasons, it would be great if this would work copy-on-write, i.e. the file is not really duplicated, and only modified blocks of the copy are written later.

As pointed out in the comments, this probably has to be supported by the file system (HFS+?). A link is not sufficient, since both the old (A) and new (B) file name will point to the same file, and if I modify A, B will also change.

A "lazy" copy also would not help, since on first write the whole file would still need to be copied.

I was thinking more about a solution like the one described by @Hot Licks that would start with A and B using the same blocks on disk, and when I write to file B, only the modified blocks would be stored on disk, while identical parts in A and B go on using the same blocks on disk.

Is this possible on iOS?

Regards, Jochen

0 投票
6 回答
943 浏览

python - 在带有 HFS+ 的 OSX 上的 python 中,如何获得现有文件名的正确大小写?

我正在存储有关 OSX HFS+ 文件系统上存在的文件的数据。我稍后想遍历存储的数据并确定每个文件是否仍然存在。出于我的目的,我关心文件名是否区分大小写,所以如果文件名的大小写发生了变化,我会认为该文件不再存在。

我开始尝试

但是在 HFS+ 上正常安装 OSX 时,即使文件名大小写不匹配,它也会返回 True。我正在寻找一种方法来编写一个关心大小写的 isfile() 函数,即使文件系统没有。

os.path.normcase() 和 os.path.realpath() 在我传入它们的任何情况下都返回文件名。

编辑:

我现在有两个似乎适用于仅限于 ASCII 的文件名的函数。我不知道 unicode 或其他字符如何影响这一点。

第一个是基于 omz 和 Alex L 给出的答案。

第二个可能效率更低。

这是基于帝斯曼答案的第三个。

如果我在一个目录中有数千个文件,我不认为这些会表现良好。我仍然希望有一些感觉更有效的东西。

我在测试时注意到的另一个缺点是它们只检查文件名是否匹配。如果我向他们传递一个包含目录名称的路径,那么到目前为止这些函数都没有检查目录名称的大小写。

0 投票
3 回答
2479 浏览

java - 如何使用 Java 在 OS X 上的扩展文件属性中存储哈希?

前言 我正在研究一个用java编写的独立于平台的媒体数据库,其中媒体文件由文件哈希标识。用户应该能够移动文件,所以我不想依赖任何文件路径。导入后,我将路径和哈希存储在我的数据库中。我基于准确性和性能之间的权衡开发了一种快速文件哈希 id 算法,但快速并不总是足够快。:)

为了更新和导入媒体文件,我需要(重新)创建库中所有文件的文件哈希。我现在的想法是只计算一次哈希并将其存储在文件元数据(扩展属性)中,以提高支持扩展文件属性的文件系统的性能。(NTFS、HFS+、ext3...)我已经实现了,你可以在这里找到当前源:archimedesJ.io.metadata

尝试 乍一看,Java 1.7 通过UserDefinedFileAttributeView提供了一种处理元数据的好方法。对于大多数平台,这都有效。遗憾的是,UserDefinedFileAttributeView不适用于 HFS+。虽然,我不明白为什么不支持特别是 HFS+ 文件系统 - 它是元数据的主要格式之一?(请参阅相关问题-它不提供任何解决方案

如何使用 Java 在 OS X 上存储扩展文件属性? 为了克服这个 java 限制,我决定使用 OSX 上的xattr命令行工具,并将它与 Java 进程处理一起使用来读取它的输出。我的实现有效,但速度很慢。(重新计算文件哈希更快,多么讽刺!我在 Mac BookPro Retina 上进行测试,带有 SSD。

事实证明,xattr 工具的运行速度很慢。(写起来很慢,但更重要的是读取属性也很慢)为了证明这不是 Java 问题,而是工具本身,我创建了一个简单的 bash 脚本,在几个具有我的自定义属性的文件上使用 xattr 工具:

如果我运行它,这些行会彼此“快速”出现,但我希望在几毫秒内立即向我显示输出。一点延迟清晰可见,因此我猜该工具不是那么快。在 java 中使用它给了我创建进程、解析输出的额外开销,这使得它变得更慢了。

有没有更好的方法来使用 Java 访问 HFS+ 上的扩展属性?使用 Java 在 OS X 上使用扩展属性的快速方法是什么?

0 投票
2 回答
2266 浏览

macos - 如何以编程方式获取“最后打开”日期,如 Finder 中显示的日期

我想在我的应用程序中显示“上次打开”日期,就像在 Finder 预览或信息面板中一样。但是我意识到这与我将获得的最后访问日期不同

或与

这些返回 Unix 上次访问时间,它也显示在终端中,ls -l 但是 Finder 显示不同的值,该值仅在用户打开文件时才会更改(例如通过双击)


我读了帖子'获取真正的“最后打开”日期?'“最后打开”日期',但这些并没有解决它。他们推荐类似的东西

attributeNames没有价值kMDItemLastUsedDate。在我的情况下,该数组中恰好有 24 个值,但没有最后一次使用。lastUsedDate也是nil... _

另外我想知道是否真的没有高级 API 可以访问最后打开的日期。

0 投票
1 回答
1497 浏览

objective-c - 如何在iOS平台的文档目录中创建名称包含正斜杠/的文件夹

如何在 iOS 中创建一个名称包含正斜杠 / 的文件夹?目前,如果文件夹名称包含正斜杠,它会创建嵌套文件夹。我想创建一个名称包含正斜杠的文件夹。