Следующий код делает то, что вам нужно. Чтобы проверить границу файла, я тестирую, если строка начинается с Begin for all values of
, если у вас есть другое условие, ее можно заменить на эту.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class Test {
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("input.txt"));
String line = null;
BufferedWriter writer = null;
while((line = reader.readLine()) != null) {
if(line.startsWith("Begin for all values of")) {
String fileName = line.substring(line.length() -1);
closeWriter(writer);
writer = new BufferedWriter(new FileWriter(fileName + ".txt"));
}
writer.write(line + "\n");
}
closeWriter(writer);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void closeWriter(Writer output) {
try {
if(output != null) {
output.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Что вы пробовали? SO не является кодирующей услугой. Пожалуйста, отредактируйте свой вопрос! – jogo
Это относительно легко сделать. Какой код вы пробовали до сих пор? О, и ... Это для школы ?! :) – DevilsHnd