macOS 10.13.4 Finder отображает kMDItemKind для некоторых файлов .java как «Исходный код», но как «Исходный код Java» для других

314
XDR

На MacOS 10.13.4, для некоторых .javaфайлов, Finder отображает "Java Source"для kMDItemKind(то есть столбец «Вид» в «Список» вид), но для некоторых других .javaфайлов, он отображает "Source Code", даже в пределах одной и той же папке.

Как я могу гарантировать, что все .javaфайлы последовательно имеют kMDItemKind = "Java Source"?

Вот вывод mdlsдля файла, который отображается "Java Source":

kMDItemContentCreationDate = 2017-08-08 08:51:42 +0000 kMDItemContentCreationDate_Ranking = 2017-08-08 00:00:00 +0000 kMDItemContentModificationDate = 2017-08-08 08:51:42 +0000 kMDItemContentType = "com.sun.java-source" kMDItemContentTypeTree = ( "com.sun.java-source", "public.source-code", "public.data", "public.plain-text", "public.item", "public.content", "public.text", "com.sun.java-source" ) kMDItemDateAdded = 2018-02-04 06:16:53 +0000 kMDItemDateAdded_Ranking = 2018-02-04 00:00:00 +0000 kMDItemDisplayName = "A.java" kMDItemFSContentChangeDate = 2017-08-08 08:51:42 +0000 kMDItemFSCreationDate = 2017-08-08 08:51:42 +0000 kMDItemFSCreatorCode = "" kMDItemFSFinderFlags = 0 kMDItemFSHasCustomIcon = (null) kMDItemFSInvisible = 0 kMDItemFSIsExtensionHidden = 0 kMDItemFSIsStationery = (null) kMDItemFSLabel = 0 kMDItemFSName = "A.java" kMDItemFSNodeCount = (null) kMDItemFSOwnerGroupID = 20 kMDItemFSOwnerUserID = 501 kMDItemFSSize = 442 kMDItemFSTypeCode = "" kMDItemInterestingDate_Ranking = 2017-08-08 00:00:00 +0000 kMDItemInterestingDate_RankingRepaired = 1 kMDItemKind = "Java Source" kMDItemLogicalSize = 442 kMDItemPhysicalSize = 4096 

Вот вывод mdlsдля файла в той же папке, что и предыдущий файл, но "Source Code"вместо этого отображается :

kMDItemContentCreationDate = 2018-04-02 09:09:37 +0000 kMDItemContentCreationDate_Ranking = 2018-04-02 00:00:00 +0000 kMDItemContentModificationDate = 2018-04-02 09:09:37 +0000 kMDItemContentType = "com.sun.java-source" kMDItemContentTypeTree = ( "com.sun.java-source", "public.source-code", "public.data", "public.plain-text", "public.item", "public.content", "public.text", "com.sun.java-source" ) kMDItemDateAdded = 2018-04-02 09:09:37 +0000 kMDItemDateAdded_Ranking = 2018-04-02 00:00:00 +0000 kMDItemDisplayName = "B.java" kMDItemFSContentChangeDate = 2018-04-02 09:09:37 +0000 kMDItemFSCreationDate = 2018-04-02 09:09:37 +0000 kMDItemFSCreatorCode = "" kMDItemFSFinderFlags = 0 kMDItemFSHasCustomIcon = (null) kMDItemFSInvisible = 0 kMDItemFSIsExtensionHidden = 0 kMDItemFSIsStationery = (null) kMDItemFSLabel = 0 kMDItemFSName = "B.java" kMDItemFSNodeCount = (null) kMDItemFSOwnerGroupID = 20 kMDItemFSOwnerUserID = 501 kMDItemFSSize = 5893 kMDItemFSTypeCode = "" kMDItemInterestingDate_Ranking = 2018-04-02 00:00:00 +0000 kMDItemKind = "Source Code" kMDItemLogicalSize = 5893 kMDItemPhysicalSize = 8192 
1
Пожалуйста, не кросс-пост на нескольких сайтах SE, выберите один и придерживаться его - https://apple.stackexchange.com/questions/321312/finder-displays-kmditemkind-for-some-java-files-as-source -код-но-в-Java Tetsujin 6 лет назад 0
`kMDItemKind` отличается в каждом случае. DavidPostill 6 лет назад 0
@DavidPostill Я пытаюсь узнать, как убедиться, что kMDItemKind одинаково для обоих файлов, или, если я не могу этого сделать, почему kMDItemKind не определяется как одинаковый для двух файлов с одинаковым расширением. и оба из которых содержат код Java. XDR 6 лет назад 0

0 ответов на вопрос