已知源目录路径sourceFilePath,此目录下还有多级子目录和多个文本文件(*.txt)。尝试编写一个方法,将此目录下所有的文件拷贝至另一个目录targetFilePath,并其中的文本文件修改成SQL文件(*.SQL)。
public void copyFile(String oldPath, String newPath) throws IOException { (new File(newPath)).mkdirs(); String[] file = new File(oldPath).list(); File fileTemp = null; String separator = File.separator; for (int i = 0; i < file.length; i++) { if (oldPath.endsWith(separator)) { fileTemp = new File(oldPath + file[i]); } else { fileTemp = new File(oldPath + separator + file[i]); } if (fileTemp.isFile()) { FileInputStream fis = new FileInputStream(fileTemp); if (file[i].endsWith(".txt")) { fileTemp = new File(oldPath + separator + file[i].substring(0, file[i].length() - 4) + ".sql"); } FileOutputStream fos = new FileOutputStream(newPath + "/" + fileTemp.getName()); byte[] b = new byte[1024 * 5]; int len; while ((len = fis.read(b)) != -1) { fos.write(b, 0, len); } fos.flush(); fos.close(); fis.close(); } if (fileTemp.isDirectory()) { this.copyFile(oldPath + "/" + file[i], newPath + "/" + file[i]); } } }