171142229
171142232
171142250
171142254
177073637
但还有很多,这只是一个例子,我必须找到我所有文件中的每个数字,文件的内容是这样的(不能改变这一点,还有很多,每一行都是以字母H或I开头的)
H ZPDV 171 MO ME 8500015847 8500015847 8500015847 8500015847 171142229 20160112 20160112 MXN 0000002978
I 20 6CB 1 10.07 0 16 C2 9019999999171610099277 9019999999171610099277
I 10 61 1 189.93 0 16 C2 9019999999171610099277 9019999999171610099277
H ZPDV 169 MO ME 2000169 2000169 2000169 2000169 169068348 20160112 20160112 MXN 0000012213
I 20 6CB 1 12.00 0 16 C2 7019999999169610019193 7019999999169610019193
I 10 61 1 154.38 0 16 C2 7019999999169610019193 7019999999169610019193
如果您注意到,第一个数字171142229
位于开头有H
的第一行。
我想打印所有开头有I
的行,这些行位于带有h
的行的下面,并在下一个h
之前停止。
程序打印下面的所有行,不管是什么,直到文件结束,然后在文件列表中查找下一个数字,并执行相同的操作,依此类推。
public static void main(String[] args) throws IOException {
String[] lista = CreaPVF.creaListaPendientes(); //this method creates my list of nubers
String[] rutas = CreaPVF.recorreCarpeta();//this method has a list with the routes to my files
for (int i = 0; i < lista.length; i++) {
int x = 0;
while (x < rutas.length) {
try{
String[] tmp;
FileInputStream fis = new FileInputStream(rutas[x]);
Scanner scanner = new Scanner(fis);
String line=scanner.nextLine();
do{
tmp=scanner.nextLine().split("\t");
if (lista[i].equals(tmp[9])) {
while(scanner.hasNextLine()){
do{
System.out.println(scanner.nextLine());
}while(tmp[0].equals("I"));
}
}
}while(scanner.hasNext() ) ;
scanner.close();
} catch (Exception e) {
} finally {
}
x++;
}
}
}
变量line
未使用,并且占用了Scanner.nextLine(),您实际上忽略了文件的第一行。
接下来,为了使循环正常工作,您需要将tmp的初始化移到循环之外。这样可以确保不跳过任何行。
最后,您需要在循环内部更新tmp,并在显示行之前检查它的起始字符。
// extract the next line from the stream
tmp=scanner.nextLine().split("\t");
do{
// check if our number is in that line
if (lista[i].equals(tmp[9])) {
while(scanner.hasNextLine()){
do{
tmp=scanner.nextLine();
if(tmp[0].equals("I")) {
System.out.println(Arrays.toString(tmp));
}
}while(tmp[0].equals("I"));
}
}
}while(scanner.hasNext() ) ;
问题内容: 我想像这样打印进度条: 但是这些都应该打印到终端机的同一行,而不是新行。我的意思是,每个新行都应替换上一行,而不是使用而不是。 如何用Java做到这一点? 问题答案: 格式化字符串,如下所示: 注意字符。正是所谓的回车,会将光标移回行的开头。 最后,请确保你使用 并不是
问题内容: 我想更改网页上的某些内容。我也想隐藏一些东西。打印时,有没有办法用CSS做到这一点?我尤其希望能够隐藏一些DIV及其包含的所有DIV。 问题答案: 可以使用单独的打印样式表来实现。该属性是关键:
对不起,我的问题,但我是一个初学者。请你能支持与扫描仪相关的关心。 “背景”:我写了一些研究扫描仪的代码: 我有一个例外:找不到行。这就是我在输出中得到的结果: 任务:运行失败今天是哪一天?线程“main”java.util.NosuchelementException异常:在java.base/java.util.Scanner.NextLine(Scanner.java:1651)和demoo
问题内容: 我有一个程序,告诉我它有多远。 因此,如果len(some_list)为50,我将最后一行打印50遍。我想打印一行并继续更新该行。我知道我知道这可能是您整天都会阅读的最棘手的问题。我只是想不通我需要输入到Google以获得答案的四个词。 更新!我尝试了mvds的建议,认为正确。新密码 完成百分比只是一个字符串(我是第一次尝试抽象,现在是抽象的)。现在的结果是,它运行该程序,直到程序结束
我有一本这样的字典: 我需要打印第一行上打印的值列表中的所有第一项,第二行上打印的所有第二项,第三行上打印的所有第三项。像这样: 所有项目的字符长度相同,所有列表的项目数相同。 我有一个字母列表,可以按正确的顺序获取键,我只是不知道如何打印值。我可以打印所有第一个项目: 如何创建上面的输出?