После Ctrl + F'ing после Scanner, я думаю, что решение Scanner тоже должно быть в списке. Проще всего читать это так:
public String fileToString(File file, Charset charset) {
Scanner fileReader = new Scanner(file, charset);
fileReader.useDelimiter("\\Z"); // \Z means EOF.
String out = fileReader.next();
fileReader.close();
return out;
}
Если вы используете Java 7 или новее (и вам действительно следует), рассмотрите возможность использования try-with-resources для облегчения чтения кода. Нет больше мелочей, засоряющих все. Но это в основном стилистический выбор метинксов.
Я публикую это в основном для завершения, так как если вам нужно много делать, в java.nio.file.Files.Files должны быть вещи, которые должны лучше выполнять эту работу.
Я бы предложил использовать Files # readAllBytes (Path) , чтобы захватить все байты и передать его в новую String (byte [] Charset) , чтобы получить строку это, что вы можете доверять. При вашей жизни Charsets будут вам вредны, так что будьте осторожны с этим.
Другие дали код и прочее, и я не хочу красть их славу. ;)