2014-10-31 2 views
0

Я пытаюсь получить все подкаталоги в C: \ Program Files (x86) \ Java \ Какой должен быть jre1.8.0_25 для моего компьютера, может быть больше, если разные версии Установлено, что это хорошо, я хочу этого. Но я всегда получаю Java из этого кодаDirectory.GetDirectories не возвращает подкаталоги

Directory.GetDirectories("C:\Program Files (x86)\Java\", SearchOption.AllDirectories)) 

или

New System.IO.DirectoryInfo("C:\Program Files (x86)\Java").Name) 

Где я буду неправильно?

Целью является вставка, которая выводится из вышеуказанного кода в базу данных. Я читал его из реестра, но Java8 больше не работает для моего старого кода.

+0

это вообще компилировать? нет перегрузки для использования GetDirectories – Plutonix

+0

Цель WHAT? Вы не можете передать коллекцию FileInfo в качестве параметра базы данных, независимо от того, какую базу данных вы используете! – Steve

ответ

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) 
+0

Это программа, над которой я работаю в свободное время для удовольствия. Это был код, который тестировался, но похоже, что это нехорошо. – Itomship

+0

Программа не выпускается публике (это не то, что продается). Как таковой, это всегда будет английский компьютер. Хороший совет, хотя – Itomship

+0

Следующий читатель, возможно, должен знать эту деталь; это так же важно для них, как и вы. Я мог бы ответить на ДП, который, по крайней мере, не упомянул об этом. – Plutonix

0

Попробуйте вместо этого:

? = New System.IO.DirectoryInfo("C:\Program Files (x86)\Java").GetDirectories(SearchOption.AllDirectories) 
Смежные вопросы