2013-03-11 2 views
2

Я использую JTidy, я хочу дать ему строку как вход вместо файла. Это возможно? Как я могу это сделать?Java: Jtidy convertion from html text to xhtml text

Это мой код:

FileInputStream fis =null; 
    String htmlFileName = "report.html"; 

    //from html to xhtml 
    try 
    { 
     fis = new FileInputStream(htmlFileName); 
    } 
    catch (java.io.FileNotFoundException e) 
    { 
     System.out.println("File not found: " + htmlFileName); 
    } 
     Tidy tidy = new Tidy(); 
     tidy.setShowWarnings(false); 
     tidy.setXmlTags(false); 
     tidy.setInputEncoding("UTF-8"); 
     tidy.setOutputEncoding("UTF-8"); 
     tidy.setXHTML(true);// 
     tidy.setMakeClean(true); 
     Document xmlDoc = tidy.parseDOM(fis, null); 
    try 
    { 
     tidy.pprint(xmlDoc,new FileOutputStream("report.xhtml")); 
    } 

ответ

3

Заменить FileInputStream с потоком, который считывает из String, например,

try 
{ 
    fis = new ByteArrayInputStream(string.getBytes()); 
} catch (java.io.IOException e) { 
    System.out.println("Error reading string"); 
    return; 
}