Потому что каждый новый span не с новой строки?
package com.javarush.task.task19.task1918;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Знакомство с тегами
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file = reader.readLine();
reader.close();
BufferedReader fileReader = new BufferedReader(new FileReader(file));
String html = "";
while (true) {
String line = fileReader.readLine();
if (line == null) {
break;
}
html += line;
}
fileReader.close();
String tag = args[0];
String begin = "<" + tag;
String end = "</" + tag + ">";
int index = html.indexOf(begin);
int lastIndex = html.lastIndexOf(end);
System.out.println(html.substring(index, lastIndex) + end);
}
}