我试图获取C:\ Program Files(x86)\ Java \下的所有子目录 对于我的电脑应该是jre1.8.0_25,如果安装了不同的版本可能会有更多,我想要的。 但我得到的只是 java 来自此代码
Directory.GetDirectories("C:\Program Files (x86)\Java\", SearchOption.AllDirectories))
或
New System.IO.DirectoryInfo("C:\Program Files (x86)\Java").Name)
我哪里错了?
目标是将上述代码输出到数据库中。我以前从注册表中读取它,但Java8不再适用于我的旧代码。
答案 0 :(得分:1)
首先,此重载不存在:GetDirectories(string, options)
有:
GetDirectories(path as string)
GetDirectories(path as string, pattern as string)
GetDirectories(path as string, pattern as string, options As SearchOptions)
这些都不符合你使用它的方式。
其次,你不应该假设系统文件夹的名称,例如“C:\ Program Files(x86)” - 德国或法国的计算机不会有这样的文件夹。
这会在我的机器上返回75个文件夹:
' get program files
Dim fpath As String = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)
' append java
fpath = Path.Combine(fpath, "Java")
' fetch
Dim folders = Directory.GetDirectories(fpath, "*", SearchOption.AllDirectories)
答案 1 :(得分:0)
请改为尝试:
? = New System.IO.DirectoryInfo("C:\Program Files (x86)\Java").GetDirectories(SearchOption.AllDirectories)