【发布时间】:2020-01-09 19:51:54
【问题描述】:
想要在执行之前将文件复制/备份到目标文件夹 任何任务。 (jdk -1.7)
/*Input file path taken from properties file as string is :inputFile
where-in inputFile is :C:\\Project\\input\\filename.txt
Destination file path taken from properties file as string is :
archiveFolderPath */
//Existing code : in main
if (inputFile != null) {
readTextFile(new File(inputFile)); }
// in readTextFile method
BufferedReader br = new BufferedReader(new FileReader(filename));
我尝试使用以下过程:: 但出现错误: 错误:: Files 类型中的方法 copy(InputStream, OutputStream) 不是 适用于参数(字符串,字符串)
//Calling method in main::
copyFiles(inputFile, archiveFolderPath);
//Copy method :
private static void copyFiles (String inputFile, String
archiveFolderPath) throws IOException {
Files.copy(inputFile, archiveFolderPath); }
请提出替代解决方案,因为“文件不适用于 参数(字符串,字符串)”。
【问题讨论】:
-
我认为错误消息非常解释 - 你不能将
String传递给方法,你必须传递InputStream(这是源代码)和OutputStream(这是目的地)。这是基本的 I/O 处理。您还需要考虑String含义较少并且可能意味着许多不同的东西的概念,因此 API 迫使您先做一些准备工作,使其更灵活,更少歧义,更容易应用于不同的情况 -
我“建议”您首先查看Basic I/O 并咨询JavaDocs for the
FilesAPI
标签: java bufferedreader filereader file-copying