Это невозможно в jsoup, но с обходом :
final File input = new File("example.html");
final int maxLength = 6000; // Limit of char's to read
InputStream is = new FileInputStream(input); // Open file for reading
StringBuilder sb = new StringBuilder(maxLength); // Init the "buffer" with the size required
int count = 0; // Count of chars readen
int c; // Char for reading
while( ( c = is.read() ) != -1 && count < maxLength ) // Read a single char until limit is reached
{
sb.append((char) c); // Save the char into the buffer
count++; // increment the chars readen
}
Document doc = Jsoup.parse(sb.toString()); // Parse the Html from buffer
Разъяснения:
- Считайте файл char-by-char в буфер, пока не достигнете предела
- Разбор текста из буфера и обработка его с помощью jsoup
Проблема: Это не позаботится о закрытии тегов и т. Д. - оно точно прекратит чтение, если вы находитесь на пределе.
(возможно) Решения:
- игнорируйте это и остановитесь точно там, где вы находитесь, проанализируйте это и " fix " или отбросьте зависший html
- если вы находитесь в конце, читайте, пока не дойдете до следующего закрывающего тега или
>
char
- если вы в конце, читайте, пока не дойдете до следующего блочного тега
- если вы в конце, читайте до определенного тега или комментария