1、引入Guava
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>29.0-jre</version>
</dependency>
2、文件复制操作
Files.copy(new File("源文件路径"), new File("目标文件路径"));//目标文件不存在会自动创建
3、JDK文件操作流
File file = new File("源文件路径");
InputStreamReader reader = null;
OutputStreamWriter writer =null;
BufferedReader bufferedReader = null;
try {
InputStream inputStream = new FileInputStream(file);
reader = new InputStreamReader(inputStream, "utf-8");
bufferedReader = new BufferedReader(reader);
File f = new File("目标文件路径");
FileOutputStream fop = new FileOutputStream(f);
writer = new OutputStreamWriter(fop, StandardCharsets.UTF_8);
while (bufferedReader.ready()){
writer.append((char)reader.read());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
reader.close();
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这里会有一个坑,window环境创建的txt文件默认编码是GBK,读取文件时要用GBK编码,或者你手动修改文件编码。