不能将'File'类型的表达式'destination'作为函数来调用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不能将'File'类型的表达式'destination'作为函数来调用相关的知识,希望对你有一定的参考价值。
我正在尝试构建一个函数,如果扩展名与我传递给该函数的扩展名匹配,并且不为空,则该文件会将所有文件从某个目录复制到一个新目录。
我一直收到此错误Expression 'destination' of type 'File' cannot be invoked as a function. The function 'invoke()' is not found
。
我对如何处理此方法感到有些困惑,因为File
可以是正确的文件或目录?因此,就我而言,我将目录传递给该函数,那么如何将所需文件复制到该目录中的新文件中?我是处理文件的新手。
到目前为止,这是我的代码(我只想返回已复制的文件数量。
fun copyFiles(source: File, destination: File, fileExtension: String = ""): Int
var copiedFiles =0;
if(!source.isDirectory() || !destination.isDirectory() return 0
source.walk().forEach file->
if(file.length().toInt() == 0) return@forEach
if(fileExtension !="" && file.extension != fileExtension) return@forEach
file.copyTo(destination(copiedFiles.toString()))
copiedFiles++
return copiedFiles
我正在尝试构建一个函数,如果扩展名与我传递给该函数的扩展名匹配,并且它们不为空,则该函数会将所有文件从某个目录复制到一个新目录。我保持...
[在变量名后放置方括号(就像在destination(copiedFiles.toString())
中所做的那样),编译器认为您正在尝试像函数一样调用destination
对象。换句话说,它尝试调用应存在于任何对象中的invoke
方法(您可以阅读有关here的信息),该方法的调用类似于函数。显然,File
类没有它。
以上是关于不能将'File'类型的表达式'destination'作为函数来调用的主要内容,如果未能解决你的问题,请参考以下文章
在 swift 中将 String 类型数组转换为 Float 类型数组 不能将类型 'String' 的值分配给类型 'Double' 的下标。
类型'Queryable'上的通用方法'OrderBy'与提供的类型参数不兼容