2014-10-31 2 views
0

C : \ Program Files (x86) \ Java \ 내 컴퓨터의 경우 jre1.8.0_25가되어야하며 다른 버전이 더 많은 경우 더 많은 서브 디렉토리를 가질 수 있습니다. 그거 좋은데, 그거 내가 원해. 그러나 내가 얻을 모든하위 디렉토리를 반환하지 않는 디렉토리 .GetDirectories

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

또는

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

내가 잘못려고하고이 코드에서 자바은?

목표는 위의 코드에서 데이터베이스로 출력되는 삽입입니다. 레지스트리에서 읽었지만 Java8은 더 이상 내 이전 코드에서 작동하지 않습니다.

+0

것으로도 컴파일 않습니다

이 내 컴퓨터에 75 개 폴더를 반환? GetDirectories의 사용에 과부하가 없습니다. – Plutonix

+0

목표는 무엇입니까? 사용중인 데이터베이스에 관계없이 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)"과 같은 시스템 폴더의 이름을 사용해서는 안됩니다. 독일어 또는 프랑스어 컴퓨터에는 이러한 폴더가 없습니다.

' 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

다음 독자는 세부 사항을 알아야 할 수도 있습니다. 그것은 당신만큼이나 중요합니다. 나는 적어도 그것을 언급하지 않은 DV의 대답을 할지도 모른다. – Plutonix

0

대신을 시도해보십시오

? = New System.IO.DirectoryInfo("C:\Program Files (x86)\Java").GetDirectories(SearchOption.AllDirectories) 
관련 문제