Escena: copiar todos los archivos de una carpeta a otra carpeta
código:
paquete cn.lj.java; importación java.io.BufferedReader; importación java.io.BufferedWriter; importación java.io.File; importación java.io.FileOutputStream; importación java.io.FileReader; importación java.io.IOException; importación java.io.OutputStreamWriter; importación java.io.Writer; público de clase FlowLogUpLoad { // 文件夹的拷贝 pública estática vacío copydir (String sourcePathDir, Cadena newPathDir) { inicio del archivo = nuevo archivo (sourcePathDir); Final del archivo = nuevaArchivo (newPathDir); String [] rutaArchivo = start.list (); // obtener los nombres de todos los archivos y directorios en la carpeta de SI (! {End.exists ()) end.mkdir (); } booleano bandera = falsa ; para (la cadena TEMP: rutaArchivo) { // condición añadida de conocer las circunstancias del SI ( nueva nueva . sourcePathDir archivo (+ + File.separator TEMP) .isFile () && temp.endsWith ( "DAT" )) { // archivo la copia En Flag = copyFile (sourcePathDir la File.separator + + TEMP, el File.separator newPathDir + + TEMP); } IF (En Flag) { System.out.println ( "file:" + + temp "Copia éxito!" ); } Else { System.out.println ( "file:" + + temp "!, Copia falló" ); } } } // copia del documento público estática de Boole copyFile (el SourcePath String, String newpath) { booleano en la bandera = false ; archivo ReadFile = nuevo nuevo archivo (el SourcePath); archivo newFile = nuevo nuevo archivo (newpath); BufferedWriter, BufferedWriter = nula ; Escritor escritor = nula ; FileOutputStream FileOutputStream = nulo ; BufferedReader BufferedReader = nulo ; intente { FileOutputStream = nuevo FileOutputStream (newFile, verdadero ); escritor = nuevo OutputStreamWriter (FileOutputStream, "UTF-8" ); BufferedWriter = nuevo BufferedWriter (escritor); BufferedReader = nuevo BufferedReader ( nuevoFileReader (readfile)); Línea de cuerda = nulo ; mientras que ((línea = bufferedReader.readLine ()) =! nula ) { bufferedWriter.write (línea); bufferedWriter.newLine (); bufferedWriter.flush (); } Flag = verdadero ; } Catch (IOException e) { bandera = false ; e.printStackTrace (); } Finalmente { tratar { si(! BufferedWriter = nula ) { bufferedWriter.close (); } Si (BufferedReader =! Nula ) { bufferedReader.close (); } Si (escritor =! Nula ) { writer.close (); } Si (FileOutputStream =! Nula ) { fileOutputStream.close (); } } Catch (IOException e) { e.printStackTrace (); } } Retorno la bandera; } Pública estáticas vacíos principales (args String []) { Cadena SourcePath = "D: \\ \\ casa antes \\ 20200120" ; Newpath cadena = "E: \\ \\ casa después de \\ 20200120" ; System.out.print ( "De:" + SourcePath); System.out.print ( "A:" + newpath); copydir (SourcePath, newpath); } }