您的位置:首页 > 编程语言 > Java开发

校正srt字幕文件的时间[java源码]

2007-12-18 23:38 543 查看

import java.io.BufferedReader;


import java.io.BufferedWriter;


import java.io.File;


import java.io.FileNotFoundException;


import java.io.FileReader;


import java.io.FileWriter;


import java.io.IOException;






public class test ...{




    static int dm = 1;


    static int ds = 20;






    public static void main(String[] args) ...{




        File f = new File("E:/1.txt");


        FileReader fileReader = null;


        BufferedReader reader = null;




        File fo = new File("E:/2.txt");






        try ...{




            BufferedWriter output = new BufferedWriter(new FileWriter(fo));




            fileReader = new FileReader(f.getAbsolutePath());




            reader = new BufferedReader(fileReader);




            String line = "";


            String temp = null;


            int pos = 0;




            while (line != null) ...{


                pos++;




                line = reader.readLine();






                if (pos == 1) ...{


                    System.out.println(line);


                }




                if (pos == 2) ...{




                    temp = convert(line);


                    //System.out.println(temp);






                } else ...{


                    temp = line;


                }




                if (temp == null) ...{


                    //System.out.println("NULL: " + line);


                    temp = "";


                }




                output.write(temp);


                output.newLine();


                output.flush();






                if (line != null && line.equals("")) ...{


                    pos = 0;


                }


            }






        } catch (FileNotFoundException e) ...{


            System.out.println(e.getMessage());




        } catch (IOException e) ...{


            System.out.println(e.getMessage());




        } catch (Exception e) ...{


            System.out.println(e.getMessage());


        }






        try ...{




            if (reader != null) ...{


                reader.close();


                reader = null;


            }




        } catch (Exception e) ...{


            System.out.println(e.getMessage());


        }




    }






    private static String convert(String line) ...{


        String[] tmp = line.split(" --> ");


        String t0 = conv(tmp[0]);


        String t1 = conv(tmp[1]);


        return t0 + " --> " + t1;


    }






    private static String conv(String string) ...{


        String[] tmp = string.split(",");


        String times = tmp[0];


        String ms = tmp[1];


        String[] tm = times.split(":");


        int p0 = 0;


        int p1 = 0;




        int s = Integer.parseInt(tm[2]) + ds;




        if (s > 59) ...{


            s -= 60;


            p0++;


        }




        int m = Integer.parseInt(tm[1]) + dm + p0;




        if (m > 59) ...{


            m -= 60;


            p1++;


        }




        int h = Integer.parseInt(tm[0]) + p1;




        return pid(h) + ":" + pid(m) + ":" + pid(s) + "," + ms;


    }






    private static String pid(int h) ...{




        return (h < 10) ? "0" + h : "" + h;


    }




}


 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1694795
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: