Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

某些情况下无法及时地检测到文件夹被更改 #5

Open
Ferry-200 opened this issue Mar 30, 2024 · 0 comments
Open

某些情况下无法及时地检测到文件夹被更改 #5

Ferry-200 opened this issue Mar 30, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@Ferry-200
Copy link
Owner

Ferry-200 commented Mar 30, 2024

在只修改音乐文件的数据而不重命名时(比如,使用音乐标签更新标签),软件不能检测到文件夹已经更新。原因如下:

当前版本中,软件按照以下逻辑更新数据库:

  • 检查保存的文件夹的更新日期
  • 如果它比上次保存的更晚,重新扫描

但是,Windows下,文件夹的更新日期只在以下情况更新:

  • 文件夹内部结构发生变化:例如添加、删除或重命名文件或子文件夹
  • 文件夹属性变化:例如更改文件夹的只读属性或隐藏属性
  • 特定文件类型的操作:例如,当打开文件夹内的Word文档或编辑后保存,上层文件夹的修改日期与访问日期的时间可能会改变。这是由于在打开Word文档时,会自动产生一个文档副本的临时文件,这会导致文件夹内的文件”数量“发生变化,因此也会导致文件夹的修改日期与访问日期发生变化

所以,使用音乐标签软件修改音乐标签时,软件无法自动检测到文件夹更新。可以手动更新。

或许可以用 FileSystemEntity.watch 监听文件夹内的更改,但那个只有软件运行时才有效。刚启动时不能检测到之前的更改。

也可以直接使用 Windows 的索引文件和搜索功能(Windows 的搜索功能是可以被第三方调用的),但是太麻烦了。Windows 的 API 全都非常难读懂。

有些音乐播放器会在后台常驻一个线程监听修改,但我不太愿意这么做。

@Ferry-200 Ferry-200 added the bug Something isn't working label Mar 30, 2024
@Ferry-200 Ferry-200 changed the title 某些情况下无法及时地更新被更改地文件夹 某些情况下无法及时地更新被更改的文件夹 Mar 30, 2024
@Ferry-200 Ferry-200 pinned this issue Sep 26, 2024
@Ferry-200 Ferry-200 changed the title 某些情况下无法及时地更新被更改的文件夹 某些情况下无法及时地检测到文件夹被更改 Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant