import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.widget.TextView;
public class readtxt extends Activity {
/** Called when the activity is first created. */
@SuppressWarnings("unused")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.tv);
StringBuffer buffer = new StringBuffer();
List<srtBean> srtList = new ArrayList<srtBean>();
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(
"/mnt/sdcard/aaa.srt"),"GBK"));
int pos = 0;
String readline = null;
srtBean srtbean = null;
while ((readline = br.readLine())!=null) {
if (pos == 0) {
srtbean = new srtBean();
}
pos++;
switch (pos) {
case 1:
break;
case 2:
convert(readline, srtbean);
break;
case 3:
buffer.append(readline);
break;
default:
if(readline.equals("")){
pos = 0;
srtbean.setContent(buffer.toString());
srtList.add(srtbean);
buffer.setLength(0);
} else {
buffer.append("<br>"+readline);
}
break;
}
}
br.close();
} catch (IOException e) {
tv.setText("没有字幕");
}
tv.setText(Html.fromHtml(srtList.get(5).getContent()));
for (int i = 0; i < srtList.size(); i++) {
System.out.println(srtList.get(i).getStarTime() + "="
+ srtList.get(i).getEndTime() + "\n"
+ Html.fromHtml(srtList.get(i).getContent()));
}
}
private static void convert(String line, srtBean srtbean) {
if (line.indexOf("-->") > 0) {
String[] tmp = line.split("-->");
String t0 = conv(tmp[0]);
String t1 = conv(tmp[1]);
srtbean.setStarTime(Integer.parseInt(t0));
srtbean.setEndTime(Integer.parseInt(t1));
}
}
private static String conv(String str) {
String[] tmp = str.split(",");
String times = tmp[0].trim();
String ms = tmp[1].trim();
if (ms.substring(0, 1).equals("0")) {
if (ms.substring(1, 2).equals("0")) {
if (ms.substring(2, 3).equals("0")) {
ms = "0";
} else {
ms = ms.substring(2);
}
} else {
ms = ms.substring(1);
}
}
int w = Integer.parseInt(ms);
String[] tm = times.split(":");
String hh = tm[0];
String mm = tm[1];
String ss = tm[2];
if (hh.substring(0, 1).equals("0")) {
if (hh.substring(1, 2).equals("0")) {
hh = "0";
} else {
hh = hh.substring(1);
}
}
if (mm.substring(0, 1).equals("0")) {
if (mm.substring(1, 2).equals("0")) {
mm = "0";
} else {
mm = mm.substring(1);
}
}
if (ss.substring(0, 1).equals("0")) {
if (ss.substring(1, 2).equals("0")) {
ss = "0";
} else {
ss = ss.substring(1);
}
}
int h = Integer.parseInt(hh) * 60 * 60 * 1000;
int m = Integer.parseInt(mm) * 60 * 1000;
int s = Integer.parseInt(ss) * 1000;
return String.valueOf(h + m + s + w);
}
}
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.widget.TextView;
public class readtxt extends Activity {
/** Called when the activity is first created. */
@SuppressWarnings("unused")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.tv);
StringBuffer buffer = new StringBuffer();
List<srtBean> srtList = new ArrayList<srtBean>();
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(
"/mnt/sdcard/aaa.srt"),"GBK"));
int pos = 0;
String readline = null;
srtBean srtbean = null;
while ((readline = br.readLine())!=null) {
if (pos == 0) {
srtbean = new srtBean();
}
pos++;
switch (pos) {
case 1:
break;
case 2:
convert(readline, srtbean);
break;
case 3:
buffer.append(readline);
break;
default:
if(readline.equals("")){
pos = 0;
srtbean.setContent(buffer.toString());
srtList.add(srtbean);
buffer.setLength(0);
} else {
buffer.append("<br>"+readline);
}
break;
}
}
br.close();
} catch (IOException e) {
tv.setText("没有字幕");
}
tv.setText(Html.fromHtml(srtList.get(5).getContent()));
for (int i = 0; i < srtList.size(); i++) {
System.out.println(srtList.get(i).getStarTime() + "="
+ srtList.get(i).getEndTime() + "\n"
+ Html.fromHtml(srtList.get(i).getContent()));
}
}
private static void convert(String line, srtBean srtbean) {
if (line.indexOf("-->") > 0) {
String[] tmp = line.split("-->");
String t0 = conv(tmp[0]);
String t1 = conv(tmp[1]);
srtbean.setStarTime(Integer.parseInt(t0));
srtbean.setEndTime(Integer.parseInt(t1));
}
}
private static String conv(String str) {
String[] tmp = str.split(",");
String times = tmp[0].trim();
String ms = tmp[1].trim();
if (ms.substring(0, 1).equals("0")) {
if (ms.substring(1, 2).equals("0")) {
if (ms.substring(2, 3).equals("0")) {
ms = "0";
} else {
ms = ms.substring(2);
}
} else {
ms = ms.substring(1);
}
}
int w = Integer.parseInt(ms);
String[] tm = times.split(":");
String hh = tm[0];
String mm = tm[1];
String ss = tm[2];
if (hh.substring(0, 1).equals("0")) {
if (hh.substring(1, 2).equals("0")) {
hh = "0";
} else {
hh = hh.substring(1);
}
}
if (mm.substring(0, 1).equals("0")) {
if (mm.substring(1, 2).equals("0")) {
mm = "0";
} else {
mm = mm.substring(1);
}
}
if (ss.substring(0, 1).equals("0")) {
if (ss.substring(1, 2).equals("0")) {
ss = "0";
} else {
ss = ss.substring(1);
}
}
int h = Integer.parseInt(hh) * 60 * 60 * 1000;
int m = Integer.parseInt(mm) * 60 * 1000;
int s = Integer.parseInt(ss) * 1000;
return String.valueOf(h + m + s + w);
}
}