我有一个这样的文本文件,由";“1022-3,1603-4,2012-5,2489-6分隔;
必须捕获"-“之前的第一部分,并传递给变量,并与毫秒进行比较,如果等于数字,则捕获"-”之后的数字。然后用分号后面的下一个数字,以此类推。
public static long MilliSeconds() {
// get Calendar instance
Calendar now = Calendar.getInstance();
return now.getTimeInMillis();
}在代码的开头,我需要在这里做这些事情
private void LerArquivo() {
String lstrNomeArq;
File arq;
String lstrlinha;
long tempoInicio = 0;
long tempoDecorrido = 0;
try {
tempoDecorrido = (RecordSound.MilliSeconds() - tempoInicio);
lstrNomeArq = "/Android/data/br.com.couldsys.drumspro/cache/GravaSound.TXT";
String conteudotexto = "";
arq = new File(Environment.getExternalStorageDirectory(),
lstrNomeArq);
BufferedReader br = new BufferedReader(new FileReader(arq));
// pega o conteudo do arquivo texto
conteudotexto = br.readLine();
String capturaIndex = ("Conteudo do texto: "
+ conteudotexto.substring(
conteudotexto.indexOf("-") + 1,
conteudotexto.indexOf(";",
conteudotexto.lastIndexOf("-"))));
if (tempoDecorrido == capturatempo) {
DrumsProActivity.vsm.playSound(capturaindex);
// ler a nova linha
// se chegar ao final do string então para o while
if (conteudotexto.length() > 0) {
executar = false;
}
}
} catch (Exception e) {
trace("Erro : " + e.getMessage());
}
}发布于 2012-10-07 12:59:47
使用以下更简单的代码:创建一个子字符串数组,每个子字符串包含一个格式为#-#的字符串
string[] MyStr = conteudotexto.split(',');
string sss= MyStr[0];
string sss2= MyStr[1];……
现在sss是1022-3,sss2是1603-4,依此类推……
然后重用拆分函数:
string[] MyStr2 = sss.split('-');现在我们有: MyStr2 = 1022 MyStr21 =3
发布于 2012-10-07 13:02:04
可能不是特别优雅,但对我来说只是实用-使用字符串拆分方法。首先拆分为",“
String[] parts = conteudotexto.split(",");然后使用每个部分(这里是第一个)
String[] subParts = parts[0].split("-");只是给你所有你需要看的东西,没有危险,没有位置等。
发布于 2012-10-08 09:51:16
我现在需要的是知道如何捕捉文本的一部分。
arq = new File(Environment.getExternalStorageDirectory(),
lstrNomeArq);
BufferedReader br = new BufferedReader(new FileReader(arq));
// pega o conteudo do arquivo texto
conteudotexto = br.readLine(); 文本可能有两个不同的分隔符,第一个数字与第二个数字之间用"-“(破折号)分隔,然后用",”(逗号)分隔
549-8,1019-9,1404-3,1764-3,2208-10,2593-5,2938-9,3264-6,3700-0,4174-7,4585-8,4840-2,5192-9,5540-10,5932-0,
正如已经显示的那样
String[] parte1 = conteudotexto.split(",");
e em seguida
String[] parte2 = parte1[0].split("-");我尝试做的规则是:在方法开始时,在一毫秒内进行转换,并与文本的第一部分进行比较
类型
**如果valor_milissegundos first part等于文本数,则->进入并运行函数playSound (文本的第二个数字);->转到文本循环中的下一个数字,捕获文本的第二个数字并将其与毫秒进行比较;如果等于,则进入if块并捕获破折号后的第二个数字,依此类推,直到到达文本的末尾。**
方法返回毫秒计算毫秒
public static long MilliSeconds() {
// get Calendar instance
Calendar now = Calendar.getInstance();
return now.getTimeInMillis();
}我希望能理解我为什么使用谷歌翻译器
谢谢
https://stackoverflow.com/questions/12766143
复制相似问题