本文主要是介绍校正srt字幕文件的时间[java源码],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2007年07月17日 13:49:00 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;
}
}
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
这篇关于校正srt字幕文件的时间[java源码]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!