¿Cómo leer el contenido del archivo en una cadena?
El siguiente es el código Java para hacer eso. Para que funcione, es necesario cambiar filePath.
public static String readFileToString() throws IOException { File dirs = new File("."); String filePath = dirs.getCanonicalPath() + File.separator+"src"+File.separator+"TestRead.java"; StringBuilder fileData = new StringBuilder(1000);//Constructs a string buffer with no characters in it and the specified initial capacity BufferedReader reader = new BufferedReader(new FileReader(filePath)); char[] buf = new char[1024]; int numRead = 0; while ((numRead = reader.read(buf)) != -1) { String readData = String.valueOf(buf, 0, numRead); fileData.append(readData); buf = new char[1024]; } reader.close(); String returnStr = fileData.toString(); System.out.println(returnStr); return returnStr; } |
Al decir String, no es exactamente correcto, en realidad se llama StringBuffer en Java. Aquí hay una publicación sobre la inmutabilidad de Java String. StringBuffer y StringBuilder son similares y ambos son para cadenas mutables. Pero StringBuffer es seguro para su uso por varios subprocesos. La razón para usar StringBuilder en lugar de StringBuffer aquí es que StringBuilder es más rápido, ya que no realiza ninguna sincronización.
Desde la perspectiva del uso de la programación, String, StringBuffer, StringBuilder son cadenas.