change srt time

Feb 28th, 2007No Comments

java code here ::

  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.FileReader;
  4. import java.io.IOException;
  5. import java.text.DateFormat;
  6. import java.text.ParseException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.ArrayList;
  9. import java.util.Calendar;
  10. import java.util.Date;
  11. import java.util.Iterator;
  12. import java.util.StringTokenizer;
  13. public class ChangeSrtTime {
  14. ? public static void main(String[] args) {
  15. ??? File file = new File(“C:FTP_DATAThe departed.2of2.en.srt”);
  16. ??? String startTime, endTime;
  17. ??? String result = “”;
  18. ??? int tunePara = 13;????????? //parameter for tuning
  19. ??? ArrayList comp = new ArrayList();? //debug use
  20. ??? boolean isDebug = false;????? //set debug mode
  21. ??? try {
  22. ????? // Create a FileReader and then wrap it with BufferedReader.
  23. ????? FileReader file_reader = new FileReader (file);
  24. ????? BufferedReader buf_reader = new BufferedReader (file_reader);
  25. ????? // Read each line of the file
  26. ????? do {
  27. ??????? String line = buf_reader.readLine();
  28. ??????? if (line == null){
  29. ????????? break;
  30. ??????? }else if (line.startsWith(“0″) && (line.indexOf(“:”) == 2)){
  31. ????????? //e.g. 00:00:02,798 –> 00:00:06,296
  32. ????????? if(isDebug){ comp.add(“org: “ + line); }
  33. ????????? StringTokenizer st = new StringTokenizer(line, “–>”);
  34. ????????? if (st.hasMoreTokens()){
  35. ??????????? startTime = st.nextToken().trim();
  36. ??????????? try {
  37. ????????????? DateFormat formatter = new SimpleDateFormat(“HH:mm:ss,SSS”);
  38. ????????????? Date date = (Date)formatter.parse(startTime);
  39. ????????????? Calendar cal = Calendar.getInstance();
  40. ????????????? cal.setTime(date);
  41. ????????????? cal.add(Calendar.SECOND, tunePara);
  42. ????????????? result = formatter.format(cal.getTime());
  43. ??????????? } catch (ParseException e) {}
  44. ????????? }
  45. ????????? if(st.hasMoreTokens()) {
  46. ??????????? endTime = st.nextToken().trim();
  47. ??????????? try {
  48. ????????????? DateFormat formatter = new SimpleDateFormat(“HH:mm:ss,SSS”);
  49. ????????????? Date date = (Date)formatter.parse(endTime);
  50. ????????????? Calendar cal = Calendar.getInstance();
  51. ????????????? cal.setTime(date);
  52. ????????????? cal.add(Calendar.SECOND, tunePara);
  53. ????????????? result += ” –> “ + formatter.format(cal.getTime());
  54. ????????????? if(isDebug){ comp.add(“new: “ + result);}
  55. ??????????? } catch (ParseException e) {}
  56. ????????? }
  57. ????????? System.out.println(result);
  58. ??????? }else{
  59. ????????? System.out.println(line);
  60. ??????? }
  61. ????? } while (true);
  62. ????? buf_reader.close ();
  63. ??? }
  64. ??? catch (IOException e) {
  65. ????? System.out.println (“IO exception =” + e );
  66. ??? }
  67. ??? if (isDebug){
  68. ????? System.out.println(nnnn ==========debug console======== “);
  69. ?????? Iterator iterator = comp.iterator();
  70. ?????? while(iterator.hasNext()) {
  71. ???????? System.out.println(iterator.next());
  72. ?????? }???
  73. ?????? System.out.println(n ==========END========= “);
  74. ??? }
  75. ? }
  76. }