lea el archivo completo sin usar el bucle en java

Posible duplicado:
Cómo crear una cadena de Java a partir del contenido de un archivo
Archivo de texto completo a una cadena en Java

Estoy tratando de leer el contenido de un archivo usando FileReader. Pero quiero leer el archivo sin leer una línea por línea. ¿Es posible leer todo el archivo sin loop? Estoy usando el siguiente código

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(); } 

Si el archivo es pequeño , puede leer toda la información una vez:

 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"); 

Solución Java 7 one line

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

o

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

Si está utilizando Java 5/6, puede usar Apache Commons IO para leer el archivo en la cadena. La clase org.apache.commons.io.FileUtils contiene varios métodos para leer archivos.

por ejemplo, utilizando el método FileUtils#readFileToString :

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

Puede intentar usar Scanner si está usando JDK5 o superior.

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

O también puedes usar guayaba

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