9

コードに次の行があります

def genList = (args[]?.size() >=4)?args[3]: "

コード全体を実行すると、次のエラーが表示されます

''\n'' 以外が必要です。とにかく行:9、列:113でそれを手に入れました

ここにコード全体を追加しているので、私が何をしているかを見ることができます

def copyAndReplaceText(source, dest, targetText, replaceText){
    dest.write(source.text.replaceAll(targetText, replaceText))
}
def dire = new File(args[0])
def genList = (args[]?.size() >=4)?args[3]: " // check here if argument 4 is provided, and generate output if so
def outputList = ""
dire.eachFile { 
    if (it.isFile()) {
        println it.canonicalPath
        // TODO 1: copy source file to *.bak file
        copy = { File src,File dest-> 

            def input = src.newDataInputStream()
            def output = dest.newDataOutputStream()

            output << input 

            input.close()
            output.close()
        }

        //File srcFile  = new File(args[0])
        //File destFile = new File(args[1])

        //File srcFile  = new File('/geretd/resume.txt')
        //File destFile = new File('/geretd/resumebak.txt')
        File srcFile = it
        File destFile = newFile(srcFile + '~')
        copy(srcFile,destFile)

        // search and replace to temporary file named xxxx~, old text with new text. TODO 2: modify copyAndReplaceText to take 4 parameters.
        if( copyAndReplaceText(it, it+"~",   args[1], args[2]) ) {
   // TODO 3: remove old file (it)
               it.delete()
   // TODO 4: rename temporary file (it+"~") to (it)

   // If file was modified and parameter 4 was provided, add modified file name (it) to list
   if (genList != null) { 
     // add modified name to list
     outputList += it + "\n\r"
   }
  }
    }
}
// TODO 5: if outputList is not empty (""), generate to required file (args[3])
if (outputList != ""){
    def outPut = new File(genList)
    outPut.write(outputList)
 } 

ありがとうございました

4

4 に答える 4

10

二重引用符を閉じるだけです

def genList = (args?.size() >=4)?args[3]: ""
于 2013-07-01T22:14:47.303 に答える