2012-04-02 2 views
0

java 파일의 경로/파일 이름을 검색해야하는 플러그인을 개발 중입니다.패키지 탐색기에서 선택한 java 파일의 경로/파일 이름을 검색하려고합니다.

필자가 작성한 코드는 XML 또는 매니페스트 파일의 파일 이름/경로를 성공적으로 검색하지만 패키지에서 Java 파일의 경로를 검색 할 수 없습니다.

내가 사용한 코드는 다음과 같습니다 -

여기
if (selection instanceof IStructuredSelection) 

    { 
     Object o = ((IStructuredSelection) selection).getFirstElement(); 
     if (o instanceof IFile) 
     { 
      IPath loc = ((IFile) o).getLocation(); 
      if (loc != null) 
      { 
        selectedFile = loc.toOSString(); 

      } 
      else 
       selectedFile = "Error at loc"; 
     } 
     else 
      selectedFile = "Error at O"; 
    } 
+0

'불가능'이란 정확히 무엇을 의미합니까? – Qwerky

+0

파일의 올바른 경로를 보여줍니다. 자바 파일의 경우 "ERROR AT O"를 표시합니다. – Hitesh

+1

'IFile '의 구현자가 아닌 경우'o'가 실제로 어떤 타입인지 디버깅하고 검사하는 것은 어떻습니까? – Thomas

답변

0

THANKS GUYZ는 네 도움으로 알아낼 수 있었다

해결책이 -

개체 O = ((IStructuredSelection) 선택) .getFirstElement();

den IPath loc = ((ICompilationUnit) o) .getPath();

den selectedFile = loc.toOSString();

이렇게하면 u가 선택한 java 파일의 경로를 가져올 수 있습니다. 또한 이것은 프로젝트 이름에서 시작하는 경로 이름을 보여줍니다. 누군가 드라이브와 같은 물리적 경로 이름 전체를 가져 오는 방법을 말할 수 있습니까? ??

0

일식 포럼에서 주제입니다 : http://www.eclipse.org/forums/index.php/mv/msg/162556/을 위해 IFile하지만 ICompilationUnit, 그래서 테스트를 구현하지 않는 자바 소스 파일 리소스처럼 보인다

그.

+0

음, 그곳에서 디버깅으로 작성되었습니다. ICompilationUnit. 고맙습니다. 그걸 확인해 볼게요. – Hitesh

+0

위 링크는 ICompilationUnit을 반환하는 선택한 파일 리소스와 관련이 없습니다. 파일의 경로를 얻으려면 파일 자원을 IPath로 변환해야합니까 ?? 누군가 그 부분을 말해 준다. 부디. – Hitesh

+0

@Hitesh 당신은 정말 API를 검색하는 법을 배워야합니다. 내가 볼 수 있듯이,'ICompilationUnit'은'IJavaElement'를 확장하므로'IPath'를 반환하는'getPath()'메소드를 제공합니다. – Thomas

관련 문제