超越自我

          一切皆有可能

           

          Project 創建文件夾 和 文件 以及classpath

          創建工程:
          private IJavaProject project=null;
          public void createProject(IProgressMonitor monitor){
            try {
             BuildPathsBlock.createProject(getProject(),null, new SubProgressMonitor(monitor, 10));
            } catch (CoreException e) {
             e.printStackTrace();
            }
            project=JavaCore.create(getProject());
           }
          public IProject getProject()
              {
                  return ResourcesPlugin.getWorkspace().getRoot().getProject("ProjectName");
              }
          創建文件夾:
          public static void createFolder(IFolder folder, boolean force, boolean local, IProgressMonitor monitor) throws CoreException {
            if (!folder.exists()) {
             IContainer parent= folder.getParent();
             if (parent instanceof IFolder) {
              createFolder((IFolder)parent, force, local, null);
             }
             folder.create(force, local, monitor);
            }
           }
          創建文件:
          public void createMetaFile(IProgressMonitor monitor,String folder,String filename){
            StringWriter stringwriter = new StringWriter(1000);
            stringwriter.write("<config>xxx</config>");
            IFile ifile =getProject().getFile(filename);
                  byte abyte0[] = stringwriter.toString().getBytes();
                  ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(abyte0);
                  try{
                  if(!ifile.exists())
                      ifile.create(bytearrayinputstream, true, null);
                  else
                      ifile.setContents(bytearrayinputstream, true, false, null);
                  }catch(CoreException ex){
                   ex.printStackTrace();
                  }
           }
          創建classpath:
          public void createClassPath(IProgressMonitor monitor,String folder){
            ClasspathEntry aclasspathentry[] = new ClasspathEntry[2];
          //src 作為classpath
            IClasspathEntry srcClasspath = JavaCore.newSourceEntry(getProject().getFolder(folder).getFullPath());
            IClasspathEntry jrtClasspath = JavaRuntime.getDefaultJREContainerEntry();
            aclasspathentry[0] = (ClasspathEntry)srcClasspath;
                  aclasspathentry[1] = (ClasspathEntry)jrtClasspath;
                  if(aclasspathentry[1] == null)
                  {
                   jrtClasspath = JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER"));
                      aclasspathentry[1] = (ClasspathEntry)jrtClasspath;
                  }
            try {
             String natures[]=new String[] {
                      "org.eclipse.jdt.core.javanature"
                    };
          //添加 nature
             addNatures(natures,getProject(), new SubProgressMonitor(monitor, 10));
             createDirectory(monitor,folder);
          //設置味工程的classpath
             project.setRawClasspath(aclasspathentry, project.getPath().makeAbsolute().append(folder), new SubProgressMonitor(monitor, 5));
            } catch (JavaModelException e) {
             e.printStackTrace();
            } catch(CoreException e1){
             e1.printStackTrace();
            }
           }

          posted on 2005-11-02 13:05 jame 閱讀(917) 評論(0)  編輯  收藏 所屬分類: Eclipse JDT框架


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          UML

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 基隆市| 讷河市| 平顶山市| 抚顺县| 望江县| 宁晋县| 临颍县| 玛多县| 微博| 武冈市| 云浮市| 伊春市| 宝丰县| 迁安市| 沅江市| 马关县| 西和县| 甘谷县| 开远市| 镇坪县| 盐边县| 比如县| 大方县| 施甸县| 甘肃省| 海丰县| 正镶白旗| 安康市| 淮滨县| 饶河县| 怀柔区| 博爱县| 石家庄市| 米易县| 界首市| 临湘市| 达尔| 邢台县| 余姚市| 平远县| 渝中区|