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

2024-01-17 10:38

本文主要是介绍校正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;
}


}



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1694795


这篇关于校正srt字幕文件的时间[java源码]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/615746

相关文章

Java如何用乘号来重复字符串的功能

《Java如何用乘号来重复字符串的功能》:本文主要介绍Java使用乘号来重复字符串的功能,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java乘号来重复字符串的功能1、利用循环2、使用StringBuilder3、采用 Java 11 引入的String.rep

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

Spring Boot 常用注解整理(最全收藏版)

《SpringBoot常用注解整理(最全收藏版)》本文系统整理了常用的Spring/SpringBoot注解,按照功能分类进行介绍,每个注解都会涵盖其含义、提供来源、应用场景以及代码示例,帮助开发... 目录Spring & Spring Boot 常用注解整理一、Spring Boot 核心注解二、Spr

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增