Red de conocimiento informático - Aprendizaje de programación - Cómo fusionar dos archivos en otro archivo en Java

Cómo fusionar dos archivos en otro archivo en Java

Java puede utilizar FileChannel para fusionar varios archivos de forma rápida y eficiente. El siguiente es el código detallado:

¿Importar? ¿Electricidad estática? Idioma Java. Sistema.

¿Importar? Java .io . flujo de entrada del archivo;

¿Importar? Java .io . flujo de salida del archivo;

¿Importar? Java .io .io excepción;

¿Importar? Java .nio .búfer de bytes;

¿Importar? Java .nio canales .canal de archivos;

¿Importar? Java . util . matriz;

¿Público? ¿clase? ¿prueba? {

¿Público? ¿Electricidad estática? finales? int? ¿BUFSIZE? =?1024?*?8;

¿Público? ¿Electricidad estática? ¿Vacío? mergeFiles(¿Cadena? outFile? ¿Cadena[]? Archivo)? {

¿Canal de archivos? ¿fuera del canal? =?null

out.println("¿Fusionar?? ?Arrays.toString(file)? ??¿Lo hizo?"? ?outFile);

¿Intentar? {< / p>

outChannel? =? nuevo? obtener canal();

for(string?f?:?file){

FileChannel ?fc?=?FileInputStream(f) );?

ByteBuffer?=?byte buffer.allocate(fc .read(bb)? =?-1){

bb . p>canal de salida .write(bb);

bb .

}

fc close();

}

out.println("¡¡Fusionar!!?" ;

}? ¿Capturar? (IOException? ioe)? );

}? {

¿Intentar? {if? (outChannel?!=?null)? {out canal}? >

}

¿Público? void main(String[]?args)? {

mergeFiles("D:/output.txt", ¿nuevo? String[]{" D:/en_1.txt",? "D:/en_2.txt", "D:/en_3.txt" });

}

}