2014-12-03 3 views
1

나는 동적으로 작업 공간에 파일을 생성하고 그 파일의 IFile 인스턴스를 생성하려고합니다.Java.io.File을 org.core.resource.IFile로 변환하는 중 오류가 발생 했습니까?

  IPath location= Path.fromOSString(file.getAbsolutePath()); 
      IFile iFile=ResourcesPlugin.getWorkspace().getRoot().getFile(location);   
      FileEditorInput input = new FileEditorInput(iFile); 

ifile이 존재하는지 (if iFile.exists()를 사용하는지) 확인하려고하면 false가 반환됩니다.

정규 경로를 사용해 보았지만 그 또한 도움이되지 않았습니다. 파일 시스템에

답변

2

변경이 자동으로 Eclipse 작업 공간에 의해 감지되지 않습니다, 당신은 로컬 파일 시스템의 해당 뷰를 새로 고침 작업 공간을 이야기해야합니다.

iFile.refreshLocal(IResource.DEPTH_ZERO, null); 

하나 이상의 파일이 변경된 경우 깊이를 변경하는 폴더 수준에서 새로 고침을 수행 할 수 있습니다.

+0

죄송합니다. 나를 위해 작동하지 않았습니다. 주변에 다른 작업이 있습니까? – Raja

+0

해결 방법을 찾았습니다. FileEditorInput 대신 FileStoreEditorInput을 사용하고 LocalFile을 사용하여 fileStore를 만들었습니다. 그것은 나를 위해 일했다. – Raja

+1

FileStoreEditorInput은 실제로 작업 영역 외부의 파일을 대상으로합니다. 편집 내용은 작업 영역에 동기화되지 않으므로 나중에 문제가 발생할 수 있습니다. –