本文整理匯總了Java中org.eclipse.core.resources.IFile.getProjectRelativePath方法的典型用法代碼示例。如果您正苦於以下問題:Java IFile.getProjectRelativePath方法的具體用法?Java IFile.getProjectRelativePath怎麽用?Java IFile.getProjectRelativePath使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.eclipse.core.resources.IFile
的用法示例。
在下文中一共展示了IFile.getProjectRelativePath方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: createFile
import org.eclipse.core.resources.IFile; //導入方法依賴的package包/類
public static IFile createFile(IProject project, IFile file, InputStream contentStream, IProgressMonitor monitor) throws CoreException {
if (!file.exists())
{
IPath path = file.getProjectRelativePath();
if (path.segmentCount() > 1) {
IPath currentFolderPath = new Path("");
for (int i=0; i<path.segmentCount()-1; i++) {
currentFolderPath = currentFolderPath.append(path.segment(i));
createFolder(project, currentFolderPath, monitor);
}
}
try
{
file.create(contentStream, true, monitor);
}
finally
{
try {
contentStream.close();
} catch (IOException e) {
throw new CoreException(new Status(Status.ERROR, "", "Could not close stream for file " + file.getFullPath(), e));
}
}
}
return file;
}
示例2: buildFiles
import org.eclipse.core.resources.IFile; //導入方法依賴的package包/類
public static PgDatabase buildFiles(Collection<IFile> files, IProgressMonitor monitor,
List<FunctionBodyContainer> funcBodies) throws InterruptedException, IOException, CoreException {
SubMonitor mon = SubMonitor.convert(monitor, files.size());
Set<String> schemaDirnamesLoaded = new HashSet<>();
IPath schemasPath = new Path(WORK_DIR_NAMES.SCHEMA.name());
PgDatabase db = new PgDatabase(false);
db.setArguments(new PgDiffArguments());
for (IFile file : files) {
IPath filePath = file.getProjectRelativePath();
if (!"sql".equals(file.getFileExtension()) || !isInProject(filePath)) { //$NON-NLS-1$
// skip non-sql or non-project files
// still report work
mon.worked(1);
continue;
}
if (schemasPath.isPrefixOf(filePath)) {
IPath relSchemasPath = filePath.makeRelativeTo(schemasPath);
String schemaDirname;
boolean schemaDefSql = relSchemasPath.segmentCount() == 1;
if (schemaDefSql) {
// schema definition SQL-file
schemaDirname = relSchemasPath.removeFileExtension().lastSegment();
} else {
// schema-contained object
// preload its schema so that search_path parses normally
schemaDirname = relSchemasPath.segment(0);
}
if (!schemaDirnamesLoaded.add(schemaDirname)) {
// schema already loaded, skip
if (schemaDefSql) {
// report schema pre-built if the same schema was to be built normally as well
mon.worked(1);
}
continue;
} else if (!schemaDefSql) {
// pre-load schema for object's search path
// otherwise we're dealing with the schema file itself, allow it to load normally
// don't pass progress monitor since this file isn't in the original load-set
loadFile(file.getProject().getFile(schemasPath.append(schemaDirname + ".sql")), //$NON-NLS-1$
null, db, funcBodies, null);
}
}
loadFile(file, mon, db, funcBodies, null);
}
return db;
}