У меня есть кусок кода -
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import org.eclipse.core.runtime.Platform;
public class RAF {
public static void main(String[] args) {
File file = new File("test.txt");
Scanner scanner;
try {
scanner = new Scanner(file).useDelimiter("\n");
String line = scanner.next();
String newLine = line.substring(0, 252) + "<input type=\"button\" value = \"abhishek\" />" + line.substring(252);
FileWriter writer = new FileWriter(file);
writer.write(newLine);
writer.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
и файл test.txt - -
> <!DOCTYPE html PUBLIC "-//W3C//DTD
> HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
> <html> <head> <meta
> http-equiv="Content-Type"
> content="text/html;
> charset=ISO-8859-1"> <title>Insert
> title here</title> </head> <body>
>
> <form><input></form> </body> </html>
Общая длина test.txt составляет 285, и я хочу добавитьсодержимое в 252 месте, так что вывод будет -
> "http://www.w3.org/TR/html4/loose.dtd">
> <html> <head> <meta
> http-equiv="Content-Type"
> content="text/html;
> charset=ISO-8859-1"> <title>Insert
> title here</title> </head> <body>
>
> <form>**<input type="button" value =
> "abhishek"/>**<input></form> </body>
> </html>
Но я получаю исключение - Исключение в потоке "main" java.lang.StringIndexOutOfBoundsException: Строковый индекс вне диапазона: 252 в java.lang.String.substring (Неизвестный источник) по адресу com.lg.palette.elementEditFactory.RAF.main (RAF.java:25)
В чем проблема с кодом? Моя главная цель - получить содержимое, как показано на второмtest.txt