| 

.NET C# Java Javascript Exception

eachFile

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


eachFile

hudi - 13.09.2010 17:21
Hi,
I created this code
Language: Groovy
currentDir.eachDir{ if (!it.getName().equals("bin") || !it.getName().equals("target")) { dirName = it.getName(); println dirName; dirName = dirName.replaceAll(srcExp, replaceText); it.eachFile{ //?? fileName = it.getName(); fileText = it.text; //backupFile = new File(file.path + ".bak"); //backupFile.write(fileText); fileName = fileName.replaceAll(srcExp, replaceText) println fileName;   fileText = fileText.replaceAll(srcExp, replaceText) println fileName; it.write(fileText); it.renameTo(fileName) } it.renameTo(dirName); } }


so firstly I looking for directory and in directory I looking for file but this code it.eachFile touch directory too and it will thrown exception here fileText = it.text; where it touch to directory. Why ? I just loking for file.
thx for help


Re: eachFile

koeberle - 14.09.2010 10:28
eachFile works on each File-Objekts in an path. A directory is also a File-Object.
You have to check if a File-Object is a directory.
Maybe you can solve the problem with eachFileMatch(pattern){}.

Christian


Re: eachFile

Wicki - 14.09.2010 11:40
Hello,

Christians answer was the right one.
Look at the code-example for your problem:
srcExp = "..."
replaceText = "..."
currentDir=new File("...")
currentDir.eachDir{   
     if (!it.getName().equals("bin") && !it.getName().equals("target")) {
         dirName = it.getName();
         println "dirName:"+dirName;
         dirName = dirName.replaceAll(srcExp, replaceText);         
         it.eachFile{ //??
             fileName = it.getName();
             println "fileName:"+fileName;
             //backupFile = new File(file.path + ".bak");
             //backupFile.write(fileText);
             fileName = fileName.replaceAll(srcExp, replaceText)
 
             if (it.isFile()) {
               dirnm=it.parent + "/"
               fileText = it.text;             
               fileText = fileText.replaceAll(srcExp, replaceText)
               println "fileNameNew:"+dirnm+fileName;
               it.write(fileText);     
               it.renameTo(new File(dirnm+fileName))
             }
         }
         it.renameTo(new File(it.parent+"/"+dirName));
      }
 }

Wicki


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "eachFile" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.