2014-11-29 7 views
-1

JDK가 설치되어 있는지 확인하고 싶습니다.디렉터리의 이름이 일부만 존재하는지 확인할 수 있습니까?

사용자가 이전 버전을 설치했을 수 있으므로 C:\Program Files\Java\jdk1.8.0_25이 있는지 확인하고 싶지 않습니다. C:\Program Files\Java안에 문자열이 포함되어 있는지 확인하려면 jdk 문자열을 확인하고 싶습니다.

그럴 수 있습니까?

+0

예. 가능합니다. 관련없는 디렉토리도 나열 할 수 있습니다. – Codeek

+0

@ 코덱 예 알아요. 그러나 내 프로그램에서는 JDK를 확인하려고합니다. JDK 버전이 존재하는 한 괜찮습니다. – jay

+0

JDK는 사용자가 임의의 위치에 둘 수 있습니다 ... 그래서 그것을 찾는 것은 약간의 작업 일 수 있습니다. – Codexer

답변

-1

곧장 오는 것은 MSDN입니다.

Try 
    Dim dirPath As String = "your directory where JDK might be present" 
    Dim dirs As List(Of String) = New List(Of String)(Directory.EnumerateDirectories(dirPath)) 
    For Each folder In dirs 
     ' Logic to check existence of word "JDK" from end 
     ' If found break 
    Next 
Catch UAEx As UnauthorizedAccessException 
    ' Error Handling 
Catch PathEx As PathTooLongException 
    ' Error Handling 
End Try 
+0

이 답변은 본질적으로 아래 단계의 구현이다. 매우 유용합니다. 제이가 원했던 샘플 코드라고 생각합니다. – Johannes

+1

실제로 그렇습니다. hehehe. 내가 속임수라고 부르지 않기를 바란다 : P 나는 그 게시물을 삭제해야 하는가? 0.0 – Codeek

+0

@Codeek이 코드는 http : // pastebin입니다.co.kr/wfFeLkLC하지만 어떤 이유로 MsgBox가 두 번 나타납니다. 어떤 아이디어? [현재 JDK가 설치되어 있지 않으므로 Else 문에서 논리가 나오게됩니다.] – jay

0

예.

1 단계 : 모든 디렉토리 이름 목록을 가져옵니다. Link

2 단계 : 검색 문자열이 하나 이상 포함되어 있는지 확인하십시오. Link

+0

은 VB와 관련하여 아직 조금 새로운 점으로 정확하지는 않습니다. 코드 예제가 있습니까? – jay

+0

이 게시물을 계속 편집합니다. 나는 최소한의 게시물로 시작하고 내 게시물이 도움이 될 때까지 주제를 연구한다. – Johannes

0
Dim Installed = (
    From i In My.Computer.FileSystem.GetDirectories("C:\Program Files\Java") 
    Where i.ToLower Like "*jdk*").Any 
0

간단한 레지스트리 검사 . 오류 트래핑 등을 추가해야합니다.

Dim rk As RegistryKey 
Dim sk As RegistryKey 
Dim currentVerion As String 


rk = Registry.LocalMachine 

sk = rk.OpenSubKey("SOFTWARE\\JavaSoft\\Java Runtime Environment") 
If sk Is Nothing Then 
    'Does not exist (IE Could not open it). 
Else 
    currentVerion = sk.GetValue("CurrentVersion").ToString() 
End If 
관련 문제