java写文件路径(java程序运行步骤)

发布日期:2025-03-10 19:10:32     手机:https://m.xinb2b.cn/baike/news66322.html    违规举报
核心提示:001:FileInputStream/FileOutputStream字节流进行文件的复制 private static void streamCopyFile(File srcFile, File desFile) { tr

java写文件路径(java程序运行步骤)

0x01:
FileInputStream/FileOutputStream字节流进行文件的复制

private static void streamCopyFile(File srcFile, File desFile) {       try{          // 使用字节流进行文件复制          FileInputStream fi = new FileInputStream(srcFile);          FileOutputStream fo = new FileOutputStream(desFile);          Integer by = 0;          //一次读取一个字节          while((by = fi.read()) != -1) {              fo.write(by);          }          fi.close();          fo.close();       }catch(Exception e){          e.printStackTrace();       } }

0x02:
BufferedInputStream/BufferedOutputStream高效字节流进行复制文件

private static void bufferedStreamCopyFile(File srcFile, File desFile){    try{         // 使用缓冲字节流进行文件复制         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));         BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(desFile));         byte[] b = new byte[1024];         Integer len = 0;         //一次读取1024字节的数据         while((len = bis.read(b)) != -1) {             bos.write(b, 0, len);         }         bis.close();         bos.close();     }catch(Exception e){          e.printStackTrace();       }}

0x03: FileReader/FileWriter字符流进行文件复制文件

private static void readerWriterCopyFile(File srcFile, File desFile){    try{         // 使用字符流进行文件复制,注意:字符流只能复制只含有汉字的文件          FileReader fr = new FileReader(srcFile);          FileWriter fw = new FileWriter(desFile);          Integer by = 0;          while((by = fr.read()) != -1) {              fw.write(by);          }         fr.close();         fw.close();     }catch(Exception e){          e.printStackTrace();     }}

0x04:
BufferedReader/BufferedWriter高效字符流进行文件复制

private static void bufferedReaderWriterCopyFile(File srcFile, File desFile){    try{         // 使用带缓冲区的高效字符流进行文件复制          BufferedReader br = new BufferedReader(new FileReader(srcFile));          BufferedWriter bw = new BufferedWriter(new FileWriter(desFile));          char[] c = new char[1024];          Integer len = 0;          while((len = br.read(c)) != -1) {              bw.write(c, 0, len);         }         //方式二                  br.close();         bw.close();     }catch(Exception e){          e.printStackTrace();     }}

0x05: NIO实现文件拷贝(用transferTo的实现 或者transferFrom的实现)

public static void  NIOCopyFile(String  source,String target) {   try{       //1.采用RandomAccessFile双向通道完成,rw表示具有读写权限       RandomAccessFile fromFile = new RandomAccessFile(source,"rw");       FileChannel fromChannel = fromFile.getChannel();       RandomAccessFile toFile = new RandomAccessFile(target,"rw");       FileChannel toChannel = toFile.getChannel();       long count =  fromChannel.size();       while (count > 0) {           long transferred = fromChannel.transferTo(fromChannel.position(), count, toChannel);           count -= transferred;        }       if(fromFile!=null) {           fromFile.close();       }       if(fromChannel!=null) {           fromChannel.close();       }   }catch(Exception e){        e.printStackTrace();   }}

0x06: java.nio.file.Files.copy()实现文件拷贝,其中第三个参数决定是否覆盖

public static void copyFile(String source,String target){    Path sourcePath = Paths.get(source);    Path destinationPath = Paths.get(target);    try {        Files.copy(sourcePath, destinationPath,                StandardCopyOption.REPLACE_EXISTING);    } catch (IOException e) {        e.printStackTrace();    }}
 
 
本文地址:https://xinb2b.cn/baike/news66322.html,转载请注明出处。

推荐图文
推荐百科经验
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.386 second(s), 83 queries, Memory 0.52 M