Here,在srcMl的教程中,他们使用命令行中的命令将文件转换为xml文件。
我想创建一个带有c文件并将其转换为XML文件的Java程序
我应该使用哪些功能?
在上一个教程中,他们正在运行一些脚本命令,例如$ srcml rotate.cpp
(将rotate.cpp转换为XML)。
我想要一个类似的Java函数来完成相同的工作,以便我可以在我的Java程序中使用它。
我找不到任何例子。有什么帮助吗?
我希望你理解我的问题。
提前致谢。
答案 0 :(得分:2)
我遇到了同样的问题,我发了一封电子邮件给SrcML的开发团队,他们给我发了一个演示
我已将其修改为适用于任何用户并在MS Windows 8.1上进行测试,此处为示例代码
public static void main(String args[])
{
try
{ //this is the file which we want to get its xml representation
String javaFileName = "C:\\Users\\Anosa\\Desktop\\tests\\BookController.java";
//use ProcessBuilder class and give it the arguements
ProcessBuilder processBuilder = new ProcessBuilder("srcml", javaFileName);
//spicify the directory of [srcml.exe]
processBuilder.directory(new File("C:\\Program Files (x86)\\srcML 0.9.5\\bin"));
//create the process
Process process = processBuilder.start();
//let's read the output of this process[ie: the xml data]
InputStream inputStream = process.getInputStream();
int i;
StringBuilder xmlData = new StringBuilder();
while ((i = inputStream.read()) != -1)
{
xmlData.append((char) i);
}
System.out.println(xmlData.toString());
} catch (IOException e)
{
System.out.println("ERROR: " + e.getMessage());
}
}
我希望这对你很有趣