﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-超越自我-文章分类-Eclipse JDT框架 </title><link>http://www.blogjava.net/jame-liu/category/4371.html</link><description>一切皆有可能</description><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 02:33:51 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 02:33:51 GMT</pubDate><ttl>60</ttl><item><title>Project 创建文件夹 和 文件 以及classpath</title><link>http://www.blogjava.net/jame-liu/articles/17787.html</link><dc:creator>jame</dc:creator><author>jame</author><pubDate>Wed, 02 Nov 2005 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/jame-liu/articles/17787.html</guid><wfw:comment>http://www.blogjava.net/jame-liu/comments/17787.html</wfw:comment><comments>http://www.blogjava.net/jame-liu/articles/17787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jame-liu/comments/commentRss/17787.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jame-liu/services/trackbacks/17787.html</trackback:ping><description><![CDATA[<P>创建工程:<BR>private IJavaProject project=null;<BR>public void createProject(IProgressMonitor monitor){<BR>&nbsp;&nbsp;try {<BR>&nbsp;&nbsp;&nbsp;BuildPathsBlock.createProject(getProject(),null, new SubProgressMonitor(monitor, 10));<BR>&nbsp;&nbsp;} catch (CoreException e) {<BR>&nbsp;&nbsp;&nbsp;e.printStackTrace();<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;project=JavaCore.create(getProject());<BR>&nbsp;}<BR>public IProject getProject()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ResourcesPlugin.getWorkspace().getRoot().getProject("ProjectName");<BR>&nbsp;&nbsp;&nbsp; }<BR>创建文件夹:<BR>public static void createFolder(IFolder folder, boolean force, boolean local, IProgressMonitor monitor) throws CoreException {<BR>&nbsp;&nbsp;if (!folder.exists()) {<BR>&nbsp;&nbsp;&nbsp;IContainer parent= folder.getParent();<BR>&nbsp;&nbsp;&nbsp;if (parent instanceof IFolder) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;createFolder((IFolder)parent, force, local, null);<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;folder.create(force, local, monitor);<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>创建文件:<BR>public void createMetaFile(IProgressMonitor monitor,String folder,String filename){<BR>&nbsp;&nbsp;StringWriter stringwriter = new StringWriter(1000);<BR>&nbsp;&nbsp;stringwriter.write("&lt;config&gt;xxx&lt;/config&gt;");<BR>&nbsp;&nbsp;IFile ifile =getProject().getFile(filename);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte abyte0[] = stringwriter.toString().getBytes();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(abyte0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!ifile.exists())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifile.create(bytearrayinputstream, true, null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifile.setContents(bytearrayinputstream, true, false, null);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }catch(CoreException ex){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;ex.printStackTrace();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;}<BR>创建classpath:<BR>public void createClassPath(IProgressMonitor monitor,String folder){<BR>&nbsp;&nbsp;ClasspathEntry aclasspathentry[] = new ClasspathEntry[2];<BR>//src 作为classpath<BR>&nbsp;&nbsp;IClasspathEntry srcClasspath = JavaCore.newSourceEntry(getProject().getFolder(folder).getFullPath());<BR>&nbsp;&nbsp;IClasspathEntry jrtClasspath = JavaRuntime.getDefaultJREContainerEntry();<BR>&nbsp;&nbsp;aclasspathentry[0] = (ClasspathEntry)srcClasspath;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aclasspathentry[1] = (ClasspathEntry)jrtClasspath;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(aclasspathentry[1] == null)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;jrtClasspath = JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER"));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aclasspathentry[1] = (ClasspathEntry)jrtClasspath;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;try {<BR>&nbsp;&nbsp;&nbsp;String natures[]=new String[] {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"org.eclipse.jdt.core.javanature"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<BR>//添加 nature<BR>&nbsp;&nbsp;&nbsp;addNatures(natures,getProject(), new SubProgressMonitor(monitor, 10));<BR>&nbsp;&nbsp;&nbsp;createDirectory(monitor,folder);<BR>//设置味工程的classpath<BR>&nbsp;&nbsp;&nbsp;project.setRawClasspath(aclasspathentry, project.getPath().makeAbsolute().append(folder), new SubProgressMonitor(monitor, 5));<BR>&nbsp;&nbsp;} catch (JavaModelException e) {<BR>&nbsp;&nbsp;&nbsp;e.printStackTrace();<BR>&nbsp;&nbsp;} catch(CoreException e1){<BR>&nbsp;&nbsp;&nbsp;e1.printStackTrace();<BR>&nbsp;&nbsp;}<BR>&nbsp;}</P><img src ="http://www.blogjava.net/jame-liu/aggbug/17787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jame-liu/" target="_blank">jame</a> 2005-11-02 13:05 <a href="http://www.blogjava.net/jame-liu/articles/17787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>