IO stream: el uso de FileUtils (11)
-
Métodos de uso común en la clase FileUtils :
- cleanDirectory: vacíe el directorio, pero no elimine el directorio
- contentEquals: compara si el contenido de dos archivos es el mismo
- copyDirectory: copia el contenido de un directorio a otro directorio. Los archivos que necesitan copiarse se pueden filtrar a través de FileFilter
- copyFile: copia un archivo a una nueva dirección
- copyFileToDirectory: copia un archivo a un directorio.
- copyInputStreamToFile; Copia el contenido de una secuencia de entrada a un archivo.
- copyFile: copia un archivo a una nueva dirección.
- copyFileToDirectory: copia un archivo a un directorio.
- copyInputStreamToFile: copia el contenido de una secuencia de entrada a un archivo
- deleteDirectory: eliminar un directorio
- deleteQuietly: eliminar archivos
- listFiles: muestra todos los archivos en el directorio especificado
- openInputStream: abre el flujo de entrada del archivo especificado
- readFileToString: Devuelve el contenido del archivo como una cadena
- readLines: devuelve el contenido del archivo a una matriz de cadenas línea por línea
- tamaño: devuelve el tamaño del archivo o directorio
- escribir: escribe el contenido de la cadena del archivo directamente en el archivo
- writeByteArrayToFile: escribe el contenido de la matriz de bytes en el archivo
- writeLines: el contenido devuelto por el método toString del elemento en el contenedor se escribe en el archivo a su vez
-
Utilice una de las clases FileUtils :
import org.apache.commons.io.FileUtils; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; public class FileUtilsDemo01 { public static void main(String[] args)throws Exception { //将字节流转字符流当中,也有utf-8指定编码格式 //new InputStreamReader(new FileInputStream("d:/sxt.txt"),"utf-8"); //将文件内容作为字符串输出 String content= FileUtils.readFileToString(new File("d:/sxt.txt"),"utf-8");//utf-8指定编码格式 System.out.println(content); //现在我们读取文本文件一行就搞定了,比java.io提供的流对象更加方便、简洁 } }
-
Uso de FileUtils clase dos :
import org.apache.commons.io.FileUtils; import java.io.File; import java.io.FileFilter; public class FileUtileDemo2 { public static void main(String[] args)throws Exception { //将一个目录内容拷贝到另一个目录,可以通过FileFilter过滤需要拷贝的文件 //new File("d:/a")拷贝文件的源位置,new File("c:/a")拷贝文件的目的位置,FileFilter接口过滤需要拷贝的文件 FileUtils.copyDirectory(new File("d:/a"), new File("c:/a"), new FileFilter() { //在文件拷贝时的过滤条件 @Override public boolean accept(File pathname) { if (pathname.isDirectory()||pathname.getName().endsWith("html")){ //只拷贝目录和html文件 return true; } return false; } }); } }
-
Uso de IOUtils
Algunos métodos de uso común:
- Método de búfer: envuelve el flujo entrante en un flujo almacenado en búfer. Y puede especificar el tamaño del búfer a través de parámetros
- Método closeQueitly: cierra la secuencia
- Método contentEquals: compare si el contenido de las dos secuencias es coherente
- método de copia: copie el contenido en la secuencia de entrada a la secuencia de salida, y puede especificar la codificación de caracteres
- método copyLarge: copie el contenido del flujo de entrada al flujo de salida, adecuado para copiar contenido de más de 2G
- Método lineIterator: devuelve un iterador que puede recorrer el contenido de cada línea
- método de lectura: lee parte del contenido en el flujo de entrada en la matriz de bytes
- Método readFully: lee todo el contenido del flujo de entrada en la matriz de bytes
- Método readLine: lee una línea en el contenido del flujo de entrada
- toBufferedInputStream, toBufferedReader: convierte la entrada en un flujo de entrada almacenado en búfer
- toByArray, toCharArray: convierte el contenido del flujo de entrada en una matriz de bytes y una matriz de caracteres
- toString: convierte el contenido del flujo de entrada o matriz en una cadena
- método de escritura: desea escribir contenido en la secuencia
- método writeLine: quiero escribir una línea de contenido en la secuencia
-
La realización concreta de IOUtils
import org.apache.commons.io.IOUtils; import java.io.FileInputStream; public class IOUtilsDemo { public static void main(String[] args)throws Exception { //用IOUtils类中的toString方法,将一个字节输入流转换成字符串 String content=IOUtils.toString(new FileInputStream("d:/sxt.txt"),"utf-8"); System.out.println(content); } }