Java 在正在处理的现有列表项之间添加StringList元素
我目前正在尝试将Java 在正在处理的现有列表项之间添加StringList元素,java,arraylist,processing,Java,Arraylist,Processing,我目前正在尝试将.txt文件(字幕文件)解析为.csv表 文件外的示例: 22 00:03:36,717 --> 00:03:38,344 (thunder crashing) 我认为使用StringList类型是我最好的选择,我几乎准备好了所有信息。剩下的唯一一件事是,我希望第二行的起始位置和结束位置是分开的字符串,彼此紧跟,如下所示: 22 00:03:36,717 00:03:38,344 (thunder crashing) 我已经知道如何使用substring()方法,但我不
.txt
文件(字幕文件)解析为.csv
表
文件外的示例:
22
00:03:36,717 --> 00:03:38,344
(thunder crashing)
我认为使用StringList
类型是我最好的选择,我几乎准备好了所有信息。剩下的唯一一件事是,我希望第二行的起始位置和结束位置是分开的字符串,彼此紧跟,如下所示:
22
00:03:36,717
00:03:38,344
(thunder crashing)
我已经知道如何使用substring()
方法,但我不知道如何在特定索引处添加新字符串。set
函数覆盖它,而appends
函数只能将它添加到列表的末尾
事后来看,使用ArrayList
是否更好?我试着这么做,但是我不知道如何使用实际的元素。我所拥有的是:
String s[] = loadStrings("subtest.txt");
ArrayList lines= new ArrayList();
for (int i=0; i<s.length; i++){
lines.add(s[i]);
}
String s[]=loadStrings(“subtest.txt”);
ArrayList行=新的ArrayList();
对于(int i=0;i考虑到,您可能需要用新行替换“-->”
,如下所示:
22
00:03:36,717
00:03:38,344
(thunder crashing)
MainP:
输入:
输出:
注意:通过这种方式,您将覆盖输入文件。问题是,默认情况下,ArrayList
包含对象的列表,而不是字符串的列表,因此从中获取的对象将是错误的数据类型。因为ArrayList.get()的结果
是一个对象
,您不能将其分配给字符串
,也不能调用其上字符串
类的方法(例如String.length()
)
您需要的是。因为ArrayList是一个泛型类,所以可以使用泛型语法指定它应该包含的对象类型:
ArrayList<String> lines = new ArrayList<String>(); //creates a list of Strings
ArrayList lines=new ArrayList();//创建字符串列表
Processing提供了一个更完整的示例。您不知道如何使用Arraylist吗?lines.get(0).length()
将获取第一个字符串的长度…您必须从列表中获取字符串元素…Arraylist类还有一个add方法,允许您指定插入值的位置。和lines.set(0,“first”+lines.get(0))
将更新第一个位置…但是,如果您已经有了阵列,则不清楚您期望的输出是什么,或者为什么需要列表
1
00:00:00,000
00:00:01,567
Anteriormente en Vikings...
2
00:00:01,765
00:00:03,298
Voy a ir de nuevo a saquear Inglaterra,
3
00:00:03,300
00:00:05,233
para la venganza de la
destrucción del asentamiento.
ArrayList<String> lines = new ArrayList<String>(); //creates a list of Strings