- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Matlab 的 fileattrib
中发现了一些奇怪的行为Windows 上的功能。对于某些文件名,它错误地将文件识别为隐藏的系统文件夹。
要测试它,请下载此文件(该文件为空;重要的是文件名):
https://docs.google.com/file/d/0B9BeckFuQk1bNHY3T0NKaFpxbUU/edit?usp=sharing
将文件放在一个空文件夹中(我使用的是“c:\temp”)并试试这个:
fileattrib('c:\temp\*')
如果你的 Matlab 和我的一样,它会给你这个错误的结果:
ans =
Name: 'c:\temp\?aaa.txt'
archive: 1
system: 1
hidden: 1
directory: 1
[...]
现在重命名文件名,删除第一个字符,然后重试。它会正确地说
ans =
Name: 'c:\temp\aaa.txt'
archive: 1
system: 0
hidden: 0
directory: 0
[...]
我在 Windows Vista 和 7 上的 Matlab R2010b 和 R2007a 中看到过这种行为。
问题显然与某些“违规”字符(或字符集/编码?)有关,但我不知道。有人能弄清楚为什么会这样吗?以及如何解决它?
编辑:
这似乎已在 R2015a 中得到纠正(可能更早):它正确返回
Name: 'C:\Users\Luis\Desktop\tmp\�aaa.txt'
archive: 1
system: 0
hidden: 0
directory: 0
[...]
最佳答案
处理此问题的一种方法是不(仅)依赖于 fileattrib
命令。
为了确定某物是文件还是目录,您可以在包含文件夹上使用 dir
命令时检查它是如何注册的。
这有点麻烦,但是当在文件夹上使用 dir 调用时(直接在文件上调用时不起作用),您似乎得到了正确的输出。
当然,一种快速而肮脏的替代方法是将您的整个处理放在 try
/catch
构造中,如果一个失败,只需尝试另一个。
关于file - Matlab 的 "fileattrib"函数中可能存在错误。解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647360/
我在 Matlab 的 fileattrib 中发现了一些奇怪的行为Windows 上的功能。对于某些文件名,它错误地将文件识别为隐藏的系统文件夹。 要测试它,请下载此文件(该文件为空;重要的是文件名
我是一名优秀的程序员,十分优秀!