我正在尝试将文件从一个文件拆分为 4 个不同的文件。所以我将文件除以一些“x”值,并希望将文件写入该值,然后从那里到下一个文件继续,直到文件内容结束。
我正在使用缓冲区读取器检查文件中的一些 x 值,并检查内容是否等于 x 值并进行拆分。
拆分即将到来,但以另一种方式,就像它正在读取文件并写入到“x”的行号。但是我需要所有行,直到文件中存在“x”值。
我在文件中有一个时间,比如开始时间 hh:mm:ss,我正在用 hh:mm:ss 和我的 x 值检查这个,并进行如下拆分
// inputs to the below method
// filePath = "//somepath";
// splitlen = 30;
// name ="somename"; */
public void split(String FilePath, long splitlen, String name) {
long leninfile = 0, leng = 0;
int count = 1, data;
try {
File filename = new File(FilePath);
InputStream infile = new BufferedInputStream(new FileInputStream(filename));
data = infile.read();
BufferedReader br = new BufferedReader(new InputStreamReader(infile));
while (data != -1) {
filename = new File("/Users//Documents/mysrt/" + count + ".srt");
OutputStream outfile = new BufferedOutputStream(new FileOutputStream(filename));
String strLine = br.readLine();
String[] atoms = strLine.split(" --> ");
if (atoms.length == 1) {
// outfile.write(Integer.parseInt(strLine + "\n"));
}
else {
String startTS = atoms[0];
String endTS = atoms[1];
System.out.println(startTS + "\n");
System.out.println(endTS + "\n");
String startTime = startTS.replace(",", ".");
String endTime = endTS.replace(",", ".");
System.out.println("startTime" + "\n" + startTime);
System.out.println("endTime" + "\n" + endTime);
String [] arrOfStr = endTime.split(":");
我正在使用一些数字增加时间以读取文件中的下一行并读取到另一个文件中。
这里 splitlen 是 30 ,因此它将数据写入新文件中的 30 行。然后它增加 splitlen+30 即 60。但是,它正在读取接下来的 60 行并写入下一个文件。
但是我需要使用文件内容中提供的时间检查此 splitlen,我应该拆分该行。
请建议我哪里做错了。如果您提供片段,将不胜感激。
守候你守候我
相关分类