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

0x01:FileInputStream/FileOutputStream字节流进行文件的复制privatestaticvoidstreamCopyFile(FilesrcFile,FiledesFile){try{

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);
         }

         //方式二
         /*
         String s = null;
         while((s = br.readLine()) != null) {
             bw.write(s);
             bw.newLine();
         }
        */

         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();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/32000.html

(0)
nan
上一篇 2021-10-01
下一篇 2021-10-01

相关推荐

  • 怎样查一个人开过房(个人开的房记录别人可以查到吗)

    很多人需要通过查开房记录、查聊天记录等行为去鉴定对方的人品和行踪。搜集婚外情证据、出轨证据,我们将倾心为你服务!对于出轨,我个人而言是零容忍的,就是绝对不能原谅的。首先说肉体出轨,我个人作为一个女生

    2021-12-12
    0
  • 手机耳机电流声怎么消除(耳朵里有电流声小妙招)

    过去,我们使用传统的有线耳机听歌。随着技术的发展,无线蓝牙耳机已逐渐成为每个人使用的标准。除了给我们提供接听电话的便利之外,听音乐和玩游戏还有更多,因此对音质的要求相对较高。面对市场上许多蓝牙耳机品牌,哪种蓝牙耳机具有良好的音质并且没有当前声音?今天

    2021-10-01 科技
    0
  • 电脑文件打不开怎么恢复(为什么电脑打不开文件)

    电脑文件打不开怎么恢复呢?不小心删除了电脑文件该如何恢复呢?针对电脑中不小心删除或误删的电脑文件,如果想进行恢复需要时,我们可以借助以下方法来实现。方法/步骤对于电脑文件的具体恢复方法,我们可以借助如图所示“文件恢复工具”来实现,如图

    2021-12-11 科技
    0
  • 社会保险和五险一金的区别(社保包含什么内容)

    记得我刚大学毕业的时候,目的就想抓紧找一份工作,有没有社保无所谓。现在才发现,当时真的亏大了。社保,全称一般是指社会保险。主要指的是社会保险法中的养老、医疗、工伤、生育、失业等五项保险。当然更广义的说法是社会保障,包含了社会救助、城乡低保

    2021-12-12
    0
  • 国督1号案团伙已被判刑(国督1号案吴迪团伙攫金6.5亿)

    日前,河北邢台市中级人民法院发布终审判决,吴迪团伙犯参加黑社会性质组织罪等十项罪名,除组织、领导者吴迪在逃另案处理,团伙126人分别获刑十八年至一年。中央政法委官网消息,2020年4月,全国扫黑办公布第六批挂牌督办案件38起,其中,石家庄

    2021-12-12
    0
  • 错误651宽带连接解决办法win7(win7 651怎么解决办法)

    最近有位win7系统用户反映,在使用电脑连接宽带的时候系统出现提示错误代码651,无法连接网络,这让用户们非常苦恼,那么win7系统宽带连接提示错误代码651怎么办呢?今天为大家分享win7系统宽带连接提示错误代码651的解决方法。宽带

    2021-12-11 科技
    0

发表回复

登录后才能评论