OSDN Git Service

c0c3038a0c2e1121d08aff7f12c424b03a9330d1
[coroid/inqubus.git] / frontend / src / saccubus / conv / ConvertToVideoHook.java
1 package saccubus.conv;
2
3 import java.io.*;
4 import java.util.logging.Level;
5 import java.util.logging.Logger;
6 import org.xml.sax.*;
7 import javax.xml.parsers.*;
8
9 /**
10  * <p>
11  * タイトル: さきゅばす
12  * </p>
13  *
14  * <p>
15  * 説明: ニコニコ動画の動画をコメントつきで保存
16  * </p>
17  *
18  * <p>
19  * 著作権: Copyright (c) 2007 PSI
20  * </p>
21  *
22  * <p>
23  * 会社名:
24  * </p>
25  *
26  * @author 未入力
27  * @version 1.0
28  */
29 public class ConvertToVideoHook {
30
31     private static final Logger logger = Logger.getLogger(ConvertToVideoHook.class.getName());
32
33         public static boolean convert(File file, File out, String ng_id,
34                         String ng_word) {
35                 try {
36                         Packet packet = new Packet();
37                         // SAXパーサーファクトリを生成
38                         SAXParserFactory spfactory = SAXParserFactory.newInstance();
39                         // SAXパーサーを生成
40                         SAXParser parser = spfactory.newSAXParser();
41                         // XMLファイルを指定されたデフォルトハンドラーで処理します
42                         NicoXMLReader nico_reader = null;
43                         try {
44                                 nico_reader = new NicoXMLReader(packet, ng_id, ng_word);
45                         } catch (java.util.regex.PatternSyntaxException e) {
46                                 logger.log(Level.SEVERE, null, e);
47                                 return false;
48                         }
49                         if (nico_reader != null) {
50                                 parser.parse(file, nico_reader);
51                         }
52                         // 変換結果の書き込み
53                         FileOutputStream fos = new FileOutputStream(out);
54                         packet.write(fos);
55                         fos.close();
56                         return true;
57                 } catch (IOException ex) {
58                         logger.log(Level.SEVERE, null, ex);
59                 } catch (SAXException ex) {
60                         logger.log(Level.SEVERE, null, ex);
61                 } catch (ParserConfigurationException ex) {
62                         logger.log(Level.SEVERE, null, ex);
63                 }
64                 return false;
65         }
66 }