百度
360搜索
搜狗搜索

javaparser生成代码,JDT的JDT详细介绍

本文目录一览: 利用JAVACC将HQL-SQL

  首先下载JAVACC 编写 jj文件     定义要空开的分隔符    SKIP :  {      | \t   | \n   | \r   | \f   }     定义关键字 from 为HQL的关键字 Teacher是用户输入的类名 应当是一个任意由字母和数字组成的单词 我们可以用正则表达式:[ A Z a z ]来表示     TOKEN: /*RESERVED TOKENS FOR UQL */  {    

    |

  }   接下来定义一下输入的顺序与规范    void expression() :  {   Token tTable;  }  {   (   

   tTable =

   )   {   sqlSB append( SELECT * );   sqlSB append( FROM ) append(tTable image);   }  }  最后就是写解析代码 以便生成java代码    PARSER_BEGIN(HQLParser)    import java lang StringBuffer;  import java io StringReader;  import java io Reader;    public class HQLParser {      private static StringBuffer sqlSB;    /**    A String based constructor for ease of use    **/    public HQLParser(String s)     {      this((Reader)(new StringReader(s)));   sqlSB = new StringBuffer();    }      public String getSQL()    {      return sqlSB toString();    }          public static void main(String args[])    {      try      {         String query = args[ ];         HQLParser parser = new HQLParser(query);      parser parse();         System out println( SQL: +parser getSQL());      }      catch(Exception e)      {         e printStackTrace();      }    }      public void parse()    {   try   {     expression();   }   catch(Exception e)      {        e printStackTrace();      }    }  }  PARSER_END(HQLParser)    接下来到dos下输入:    javacc debug_parser test jj     debug_parser:用来输出语法树    这时候会生成 个java文件 每个文件的作用以后会详细说明    这时候只需要    javac * java即可编译全部的java文件    然后执行java HQLParser from Teacher     这时候屏幕上就会显示出 select * from Teacher lishixinzhi/Article/program/Java/JSP/201311/19735

如何用java代码创建xml文件

用java自带的就可以,有问题可以问我
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
//构造
public XMLUtil(String name) throws ParserConfigurationException {
filename = name;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
document = builder.newDocument();
}
/**
* 保存到文件
*/
public void toSave() {
try {
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
PrintWriter pw = new PrintWriter(new FileOutputStream(filename));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
} catch (TransformerException mye) {
mye.printStackTrace();
} catch (IOException exp) {
exp.printStackTrace();。
使用jxl这个工具来创建吧,下载jxl.jar这个包,然后使用它来创建读取都行,相关用法网上查下吧
Dom4j,标准的使用java创建XML文件,方式简单,处理迅速
用java自带的就可以,有问题可以问我
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
//构造
public XMLUtil(String name) throws ParserConfigurationException {
filename = name;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
document = builder.newDocument();
}
/**
* 保存到文件
*/
public void toSave() {
try {
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
PrintWriter pw = new PrintWriter(new FileOutputStream(filename));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
} catch (TransformerException mye) {
mye.printStackTrace();
} catch (IOException exp) {
exp.printStackTrace();
}
}

阅读更多 >>>  hibernate框架用法,hibernate 框架

JDT的JDT

(java development tooling)是Eclipse提供的一组API。其功能引用其官方文档上的说法:Programmatically manipulate Java resources, such as creating projects, generating Java source code, performing builds, or detecting problems in code. Programmatically launch a Java program from the platform. Provide a new type of VM launcher to support a new family of Java runtimes. Add new functions and extensions to the Java IDE itself. 总之,提供了一系列强大的API供我们操作Java代码。JDT实际上是将Java代码构建成一个基于DOM结构的抽象语法树AST(Abstract Syntax Tree )。代码中的每个部分都对应一个ASTNode,许多的ASTNode就构成了这个抽象的语法树。Java Class一般对应Compilation Unit node,该节点也是AST树上的顶点。创建一个AST如下:java 代码ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource(.toCharArray()); CompilationUnit unit = (CompilationUnit) parser.createAST(null); unit.recordModifications(); AST ast = unit.getAST();其中createAST,当parse需要较长时间时,可以采用createAST(new NullProgressMonitor()),否则直接传null即可。recordModifications()用于记录节点的变动,比如修改、删除等,当需要对AST树进行变动操作时,必须要预先调用这个方法。比较重要的是:一个AST树上的所有节点必须都属于该AST。不允许直接将其他AST树上的节点添加该AST树上。否则会抛出java.lang.IllegalArgumentException异常。须使用ASTNode.copySubtree(AST target, ASTNode node)返回一个目标树的深度拷贝,才能进行添加操作。例如: java 代码ASTParser parser = ASTParser.newParser(AST.JLS3); parser.setSource(.toCharArray()); CompilationUnit targetRoot= (CompilationUnit) parser.createAST(null); targetRoot.recordModifications(); parser.setSource(class T{}”.toCharArray()); CompilationUnit srcRoot= (CompilationUnit) parser.createAST(null); //这是非法操作,两者的AST源不一样 targetRoot.types().add(srcRoot.types().get(0)); //这是合法操作 targetRoot.types().add(ASTNode.copySubtree( targetRoot.getAST(), (ASTNode) srcRoot.types().get(0))); //这是合法操作 targetRoot.types().add(targetRoot.getAST().newTypeDeclaration());

大神帮忙写个JAVA代码 高悬赏200

你描述下输出的结果是什么样的,给个示例
输出的格式是什么样的
要花很多钱的
import java.io.ByteArrayInputStream;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class XMLParserUtil { public static Map

getMapFromXML(String xmlString) throws ParserConfigurationException, IOException, SAXException { //用Dom的方式解析 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); ByteArrayInputStream tInputStringStream = null; if (xmlString != null && !xmlString.trim().equals("")) { tInputStringStream = new ByteArrayInputStream(xmlString.getBytes("UTF-8")); }else{ return null; } Document document = builder.parse(tInputStringStream); //获取到document里面的全部结点 NodeList allNodes = document.getFirstChild().getChildNodes(); Node node; Map

map = new HashMap

(); int i=0; while (i < allNodes.getLength()) { node = allNodes.item(i); if(node instanceof Element){ System.out.println("标签名:"+node.getNodeName()+"标签内容:"+node.getTextContent()); map.put(node.getNodeName(),node.getTextContent()); } i++; } return map; }}利用dom解析xml格式,将结果放在map里,标签名是key,标签内容是value

求帮忙制作一个JAVA HTMLParser Extractor解析器类 从HTML中提取所需要的信息

试试jsoup,可以像jquery那样去获取你要的数据
正则表达式:《(?

[\w\W]+?)》[\w\W]+?作 者[\w\W]+?name="__infodetail_pub" target="_blank" class="c_green">(?

[\w\W]+?) 主编

网站数据信息

"javaparser生成代码,JDT的JDT"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:javaparser生成代码,JDT的JDT的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!