В коде вы допустили несколько ошибок, а также есть более эффективные способы реализации кода.
Но за ваше занижение я обновлю ваш существующий код.
1) st и rt должны быть инициализированы. потому что когда первый раз st инициализируется, rt еще не инициализирован.
2) || должно быть &&. потому что вам нужно зациклить, пока все файлы не закончат чтение.
3) st & rt должен быть проверен, если он нулевой или нет.
пожалуйста, проверьте следующий код.
public class ReadingFiles
{
public static void main(String[] args) throws IOException
{
String inp = "first.txt";
String two = "second.txt";
BufferedReader br = new BufferedReader(new FileReader(inp));
BufferedReader br2 = new BufferedReader(new FileReader(two));
String st,rt="";
BufferedWriter bw = new BufferedWriter(new FileWriter("location"));
boolean isCompleted = false;
while( !isCompleted)
{
st=br.readLine() ;
bw.write(st==null?"":st);
bw.newLine();
rt=br2.readLine();
bw.write(rt==null?"":rt);
bw.newLine();
isCompleted = (st==null && rt == null) ? true : false ;
}
bw.close();
}
}