Java NIO 文件拷贝与内容追加

Java NIO 文件拷贝与内容追加

(后期博文会对代码中涉及的知识进行一一说明,请先自信参考进行学习。如有高人愿虚心请教学习,关于使用FileChannel和ByteBuffer以及MappedByteBuffer的文件操作方式也会在以后分享给大家)

下面是本次展示的代码(请多多参考API文档):

package top.smartprinting;

import java.io.IOException;
import java.nio.file.*;

/**
 * @author Chief
 * @date 2019-08-01 11:00
 * @Email [email protected]
 */
public class Main {

    public static void main(String[] args) {
        //文件根路径
        String rootPath = "C:\\Users\\ThinkPad\\Desktop\\TestNio";
        //生成原文件One.txt Two.txt的Path对象
        Path pathOne = FileSystems.getDefault().getPath(rootPath, "One.txt");
        Path pathTwo = FileSystems.getDefault().getPath(rootPath, "Two.txt");
        //生成目标生成的文件JavaNio.java的Path对象
        Path pathJavaNio = FileSystems.getDefault().getPath(rootPath, "JavaNio.java");

        try {
            //实现文件拷贝,将One.txt文件拷贝到JavaNio.java文件中
            Files.copy(pathOne, pathJavaNio, StandardCopyOption.COPY_ATTRIBUTES, StandardCopyOption.REPLACE_EXISTING);
            //实现文件追加写入,将Two.txt文件的内容追加到JavaNio.java文件已有内容后
            Files.write(pathJavaNio, Files.readAllBytes(pathTwo), StandardOpenOption.APPEND, StandardOpenOption.CREATE, StandardOpenOption.SYNC, StandardOpenOption.WRITE);
            //实现文件追加在行尾,在行尾添加 LF(换行)、CR(回车)、}(尾花括号)
            Files.write(pathJavaNio, new byte[]{10, 13, 125}, StandardOpenOption.APPEND, StandardOpenOption.CREATE, StandardOpenOption.SYNC, StandardOpenOption.WRITE);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

请多多参考API文档:
Java NIO 文件拷贝与内容追加_第1张图片

代码测试时使用的文件:
代码测试时使用的文件

One.txt
Java NIO 文件拷贝与内容追加_第2张图片

Two.txt
Java NIO 文件拷贝与内容追加_第3张图片

JavaNio.java(默认情况下根路径下没有创建此文件,由代码进行创建)
Java NIO 文件拷贝与内容追加_第4张图片

你可能感兴趣的:(Java,展示代码,讨论)