20. februar 2003 - 11:03
Der er
6 kommentarer og 1 løsning
Rename
Denne ellers udmærkede kode kan jeg ændre dir navne med. Men hvordan ændre jeg filerne i et dir? (File extension) import java.io.*; class FilDir { public FilDir() { File dir = new File("d:/temp"); File dirTemp; if(dir.isDirectory()) { String[] subDir = dir.list(); int nr=0; for(int i=0;i<subDir.length;i++) { dirTemp = new File(dir + "\\" + subDir[i]); if(dirTemp.isDirectory()) { dirTemp.renameTo(new File(dirTemp + ".max" )); nr++; } } } } public static void main(String args[]) { FilDir mainFrame = new FilDir(); } }
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
20. februar 2003 - 11:12
#1
renameTo kan også rename ikke-directories. Men du kalder jo kun metoden hvis det er et directory: Så først skal det test vel ændres.
20. februar 2003 - 11:12
#2
kan du ikke lave en string hvor du læser stien, og gemmer den der???
20. februar 2003 - 11:20
#3
arne_v Hvad mener du med test ?
20. februar 2003 - 11:23
#4
if(dirTemp.isDirectory()) // det test sikrer at kun directories bliver renamet { dirTemp.renameTo(new File(dirTemp + ".max" )); nr++; }
20. februar 2003 - 12:03
#5
Det er rigtigt arne_v. if(dirTemp.isDirectory()||dirTemp.isFile()) //if(dirTemp.isFile()) Så langt så godt. Men nu tilføjer programmet jo kun en file ext og erstatter ikke den eksisterende.
20. februar 2003 - 12:21
#6
Så skal du jo have fjernet den gamle extension. Jeg har ikke testet det, men måske noget i retning af: String newname = dirTemp.toString(); int ix = newname.length() - 1; while(newname.charAt(ix)!='.') ix--; newname = newname.substring(0, ix) + ".max");
24. februar 2003 - 21:19
#7
Hej arne-v. Undskyld den sene respons. Jeg troede at jeg havde sendt point. Tak for hjælpen
Kurser inden for grundlæggende programmering