Monday 15 September 2014

silverlight - Check if file exists in folder in c# -



silverlight - Check if file exists in folder in c# -

i moving files source folder destination folder. before moving files, checking directory exists or not working fine. issue sec check want create sure folder not empty before moving files not giving me right result.

public void movefilesfromtemptosourcetbl() { //moving files temp folder orig folder. string sourcefolder = (twitterdo.path + "\\" + msgdate.year.tostring() + "\\" + msgdate.month.tostring() + "\\" + msgdate.day.tostring() + "_temp").replace("\\", @"\"); string destinationfolder = (twitterdo.path + "\\" + msgdate.year.tostring() + "\\" + msgdate.month.tostring() + "\\" + msgdate.day.tostring()).replace("\\", @"\"); string pattern = "*.txt"; if (directory.exists(sourcefolder)) { if (file.exists(pattern)) { foreach (var file in new directoryinfo(sourcefolder).getfiles(pattern)) { file.moveto(path.combine(destinationfolder, file.name)); } } if (directory.getfiles(sourcefolder).length == 0) //before deleting create sure temp folder empty. directory.delete(sourcefolder, true); // delete temp folder after moving contents. } }

i know making little error not sure is. next screenshot of result got in immediate window.

http://imgur.com/fzvo9cj

there's bit of redundancy in current code. starting if-checks, here's how approach this:

var sourcedirectory = new directoryinfo(sourcefolder); // remember this, reused if (sourcedirectory.exists) { // files in directory, if none found, empty array foreach (var file in sourcedirectory.getfiles(pattern)) { file.moveto(path.combine(destinationfolder, file.name)); } // re-check directory remaining files if (sourcedirectory.getfiles(pattern).length == 0) //before deleting create sure temp folder empty. sourcedirectory.delete(); // delete temp folder after moving contents. }

as little performance improvement, replace sourcedirectory.getfiles() sourcedirectory.enumeratefiles() in for-loop. allow start moving them method finds them, not after have been found.

c# silverlight

No comments:

Post a Comment