Читать полный файл без использования цикла в java

Возможный дубликат:
Как создать строку Java из содержимого файла
Целый текстовый файл для строки в Java

Я пытаюсь прочитать содержимое файла с помощью FileReader. Но я хочу прочитать файл, не читая строки за строкой. Возможно ли прочитать весь файл без цикла. Я использую следующий код

 try
 {
     File ff=new File("abc.txt");
     FileReader fr=new FileReader(ff);

     String s;
     while(br.read()!=-1)
     {
          s=br.readLine();
     }
 }

 catch(Exception ex)
 {
     ex.printStackTrace();
 }

Ответ 1

Если файл маленький, вы можете прочитать все данные один раз:

File file = new File("a.txt");
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();

String str = new String(data, "UTF-8");

Ответ 2

Java 7 однострочное решение

List<String> lines = Files.readAllLines(Paths.get("file"), StandardCharsets.UTF_8);

или

 String text = new String(Files.readAllBytes(Paths.get("file")), StandardCharsets.UTF_8);

Ответ 3

Если вы используете Java 5/6, вы можете использовать Apo Commons IO для чтения файла в строку. Класс org.apache.commons.io.FileUtils contais несколько методов для чтения файлов.

например. используя метод FileUtils#readFileToString:

File file = new File("abc.txt");
String content = FileUtils.readFileToString(file);

Ответ 4

Вы можете использовать Scanner, если используете JDK5 или выше.

Scanner scan = new Scanner(file);  
scan.useDelimiter("\\Z");  
String content = scan.next(); 

Или вы также можете использовать Guava

String data = Files.toString(new File("path.txt"), Charsets.UTF8);