public boolean copyFile(String src, String dest) throws IOException { boolean flag = false; if (!flag) { File srcFile = new File(src); File destFile = new File(dest); FileInputStream fis = new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(destFile); BufferedInputStream bis = new BufferedInputStream(fis); BufferedOutputStream bos = new BufferedOutputStream(fos, 1024); int len = 0; byte[] bytes = new byte[1024]; while ((len = bis.read(bytes)) != -1) bos.write(bytes, 0, len); bos.flush(); bis.close(); bos.close(); flag = true; } return flag; }
时间: 2024-02-14 21:24:27 浏览: 146
这是一个用于复制文件的Java方法,它会将指定的源文件src复制到目标文件dest。该方法使用了字节流的方式读写文件,并且使用了缓冲流来提高读写效率。在方法中,首先会检查flag变量的值,如果为false,表示可以执行文件复制操作,否则直接返回。然后创建源文件和目标文件的File对象,并使用FileInputStream和FileOutputStream来创建读写文件的输入输出流。接着,使用BufferedInputStream和BufferedOutputStream来创建缓冲流,将字节数据读入缓冲区,再从缓冲区写入到目标文件中。最后,关闭输入输出流和缓冲流,将flag变量设置为true,并返回该变量。
相关问题
public Boolean copyFile(String src, String dest) throws IOException { //生成源文件对象 File srcFile = new File(src); //生成目标文件对象 File destFile = new File(dest); //创建输入输出流 FileInputStream input = new FileInputStream(srcFile); FileOutputStream output = new FileOutputStream(destFile); byte[] buf = new byte[1024]; int byteRead; while ((byteRead = input.read(buf)) != -1) { output.write(buf, 0, byteRead); } input.close(); output.close(); return false; }
这也是一种使用字节流来实现文件复制的方式。该方法首先会生成源文件和目标文件的File对象,然后创建FileInputStream和FileOutputStream来创建读写文件的输入输出流。在方法中,通过创建一个大小为1024的byte数组buf来读取和写入数据。使用while循环来不断读取源文件中的数据,如果读取到的数据长度不为-1,则使用output.write方法将buf中的数据写入到目标文件中。最后关闭输入输出流,并返回false。和第一种方法相比,这种方式代码更加简洁,但是也没有使用缓冲流来提高读写效率。如果复制的文件较大,则可能会影响执行效率。
阅读全文