1 5 package org.h2.samples; 6 7 import java.io.FileOutputStream ; 8 import java.io.InputStream ; 9 import java.io.InputStreamReader ; 10 import java.io.OutputStreamWriter ; 11 import java.io.Writer ; 12 import java.sql.Connection ; 13 import java.sql.DriverManager ; 14 import java.sql.ResultSet ; 15 16 import org.h2.tools.RunScript; 17 import org.h2.util.StringUtils; 18 19 public class Newsfeed { 20 public static void main(String [] args) throws Exception { 21 Class.forName("org.h2.Driver"); 22 Connection conn = DriverManager.getConnection("jdbc:h2:mem:", "sa", ""); 23 InputStream in = Newsfeed.class.getResourceAsStream("newsfeed.sql"); 24 ResultSet rs = RunScript.execute(conn, new InputStreamReader (in, "ISO-8859-1")); 25 while(rs.next()) { 26 String file = rs.getString("FILE"); 27 String content = rs.getString("CONTENT"); 28 if(file.equals("-newsletter-")) { 29 System.out.println(convertHtml2Text(content)); 30 } else { 31 FileOutputStream out = new FileOutputStream (file); 32 Writer writer = new OutputStreamWriter (out, "UTF-8"); 33 writer.write(content); 34 writer.close(); 35 out.close(); 36 } 37 } 38 conn.close(); 39 } 40 41 private static String convertHtml2Text(String html) { 42 String s = html; 43 s = StringUtils.replaceAll(s, "<b>", ""); 44 s = StringUtils.replaceAll(s, "</b>", ""); 45 s = StringUtils.replaceAll(s, "<ul>", ""); 46 s = StringUtils.replaceAll(s, "</ul>", ""); 47 s = StringUtils.replaceAll(s, "<li>", "- "); 48 s = StringUtils.replaceAll(s, "<a HREF=\"", "( "); 49 s = StringUtils.replaceAll(s, "\">", " ) "); 50 s = StringUtils.replaceAll(s, "</a>", ""); 51 s = StringUtils.replaceAll(s, "<br>", ""); 52 if(s.indexOf('<') >= 0 || s.indexOf('>') >= 0) { 53 throw new Error ("Unsupported HTML Tag: < or > in " + s); 54 } 55 return s; 56 } 57 } 58 | Popular Tags |