Read and list large number of files from multiple folders in c#









up vote
0
down vote

favorite












I want to read large number of files which spans across multiple folders in a network drive.



I have approximately 20 folders, each folder has 50 sub folders and each sub folder has approximately 400 json files. I need to read one keyword in json file and if then if the data is good then I need to parse the file. From all these files I may need to parse only 300 files a day, but I need to go through each file to find if it's good or not.



I have tried reading files fro each folder using,



Directory.EnumerateFiles 


But it takes a long time. What is the bes way to handle this situation?
Is there a better way to some powershell script or Pearl etc to traverse through all folders and get paths of all good files in a list as text file and I can read only those good files?



My program is in c#










share|improve this question

















  • 1




    Directory.EnumerateFiles returns the file names that it finds. How is that slow? What code are you using to read the file contents?
    – gunr2171
    Nov 8 at 18:13






  • 1




    Possible duplicate of Reading a large number of files quickly
    – gunr2171
    Nov 8 at 18:14










  • Files are on a network share and one parent folder has around 700K files in it including ~ 3000 sub directories. If I do EnumerateFiles in the main directory then it takes very long time.
    – blue
    Nov 8 at 19:05






  • 1




    There is no faster way of obtaining file names from the file system than Directory.EnumerateFiles (and variations). Trying to read that many folders/files across a network will always be slow, regardless of the programming language you use. The better way to fix this is to think like an engineer and see how you can optimize the layout of your folders so you don't need do do a complete file scan.
    – gunr2171
    Nov 8 at 19:10










  • I can't change the file structure here, it exists in the system for many years and it can't be changed now. Only option for me to read the files in a better way.
    – blue
    Nov 8 at 19:16














up vote
0
down vote

favorite












I want to read large number of files which spans across multiple folders in a network drive.



I have approximately 20 folders, each folder has 50 sub folders and each sub folder has approximately 400 json files. I need to read one keyword in json file and if then if the data is good then I need to parse the file. From all these files I may need to parse only 300 files a day, but I need to go through each file to find if it's good or not.



I have tried reading files fro each folder using,



Directory.EnumerateFiles 


But it takes a long time. What is the bes way to handle this situation?
Is there a better way to some powershell script or Pearl etc to traverse through all folders and get paths of all good files in a list as text file and I can read only those good files?



My program is in c#










share|improve this question

















  • 1




    Directory.EnumerateFiles returns the file names that it finds. How is that slow? What code are you using to read the file contents?
    – gunr2171
    Nov 8 at 18:13






  • 1




    Possible duplicate of Reading a large number of files quickly
    – gunr2171
    Nov 8 at 18:14










  • Files are on a network share and one parent folder has around 700K files in it including ~ 3000 sub directories. If I do EnumerateFiles in the main directory then it takes very long time.
    – blue
    Nov 8 at 19:05






  • 1




    There is no faster way of obtaining file names from the file system than Directory.EnumerateFiles (and variations). Trying to read that many folders/files across a network will always be slow, regardless of the programming language you use. The better way to fix this is to think like an engineer and see how you can optimize the layout of your folders so you don't need do do a complete file scan.
    – gunr2171
    Nov 8 at 19:10










  • I can't change the file structure here, it exists in the system for many years and it can't be changed now. Only option for me to read the files in a better way.
    – blue
    Nov 8 at 19:16












up vote
0
down vote

favorite









up vote
0
down vote

favorite











I want to read large number of files which spans across multiple folders in a network drive.



I have approximately 20 folders, each folder has 50 sub folders and each sub folder has approximately 400 json files. I need to read one keyword in json file and if then if the data is good then I need to parse the file. From all these files I may need to parse only 300 files a day, but I need to go through each file to find if it's good or not.



I have tried reading files fro each folder using,



Directory.EnumerateFiles 


But it takes a long time. What is the bes way to handle this situation?
Is there a better way to some powershell script or Pearl etc to traverse through all folders and get paths of all good files in a list as text file and I can read only those good files?



My program is in c#










share|improve this question













I want to read large number of files which spans across multiple folders in a network drive.



I have approximately 20 folders, each folder has 50 sub folders and each sub folder has approximately 400 json files. I need to read one keyword in json file and if then if the data is good then I need to parse the file. From all these files I may need to parse only 300 files a day, but I need to go through each file to find if it's good or not.



I have tried reading files fro each folder using,



Directory.EnumerateFiles 


But it takes a long time. What is the bes way to handle this situation?
Is there a better way to some powershell script or Pearl etc to traverse through all folders and get paths of all good files in a list as text file and I can read only those good files?



My program is in c#







c# powershell-v2.0 system.io.file system.io.directory






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 8 at 18:10









blue

361529




361529







  • 1




    Directory.EnumerateFiles returns the file names that it finds. How is that slow? What code are you using to read the file contents?
    – gunr2171
    Nov 8 at 18:13






  • 1




    Possible duplicate of Reading a large number of files quickly
    – gunr2171
    Nov 8 at 18:14










  • Files are on a network share and one parent folder has around 700K files in it including ~ 3000 sub directories. If I do EnumerateFiles in the main directory then it takes very long time.
    – blue
    Nov 8 at 19:05






  • 1




    There is no faster way of obtaining file names from the file system than Directory.EnumerateFiles (and variations). Trying to read that many folders/files across a network will always be slow, regardless of the programming language you use. The better way to fix this is to think like an engineer and see how you can optimize the layout of your folders so you don't need do do a complete file scan.
    – gunr2171
    Nov 8 at 19:10










  • I can't change the file structure here, it exists in the system for many years and it can't be changed now. Only option for me to read the files in a better way.
    – blue
    Nov 8 at 19:16












  • 1




    Directory.EnumerateFiles returns the file names that it finds. How is that slow? What code are you using to read the file contents?
    – gunr2171
    Nov 8 at 18:13






  • 1




    Possible duplicate of Reading a large number of files quickly
    – gunr2171
    Nov 8 at 18:14










  • Files are on a network share and one parent folder has around 700K files in it including ~ 3000 sub directories. If I do EnumerateFiles in the main directory then it takes very long time.
    – blue
    Nov 8 at 19:05






  • 1




    There is no faster way of obtaining file names from the file system than Directory.EnumerateFiles (and variations). Trying to read that many folders/files across a network will always be slow, regardless of the programming language you use. The better way to fix this is to think like an engineer and see how you can optimize the layout of your folders so you don't need do do a complete file scan.
    – gunr2171
    Nov 8 at 19:10










  • I can't change the file structure here, it exists in the system for many years and it can't be changed now. Only option for me to read the files in a better way.
    – blue
    Nov 8 at 19:16







1




1




Directory.EnumerateFiles returns the file names that it finds. How is that slow? What code are you using to read the file contents?
– gunr2171
Nov 8 at 18:13




Directory.EnumerateFiles returns the file names that it finds. How is that slow? What code are you using to read the file contents?
– gunr2171
Nov 8 at 18:13




1




1




Possible duplicate of Reading a large number of files quickly
– gunr2171
Nov 8 at 18:14




Possible duplicate of Reading a large number of files quickly
– gunr2171
Nov 8 at 18:14












Files are on a network share and one parent folder has around 700K files in it including ~ 3000 sub directories. If I do EnumerateFiles in the main directory then it takes very long time.
– blue
Nov 8 at 19:05




Files are on a network share and one parent folder has around 700K files in it including ~ 3000 sub directories. If I do EnumerateFiles in the main directory then it takes very long time.
– blue
Nov 8 at 19:05




1




1




There is no faster way of obtaining file names from the file system than Directory.EnumerateFiles (and variations). Trying to read that many folders/files across a network will always be slow, regardless of the programming language you use. The better way to fix this is to think like an engineer and see how you can optimize the layout of your folders so you don't need do do a complete file scan.
– gunr2171
Nov 8 at 19:10




There is no faster way of obtaining file names from the file system than Directory.EnumerateFiles (and variations). Trying to read that many folders/files across a network will always be slow, regardless of the programming language you use. The better way to fix this is to think like an engineer and see how you can optimize the layout of your folders so you don't need do do a complete file scan.
– gunr2171
Nov 8 at 19:10












I can't change the file structure here, it exists in the system for many years and it can't be changed now. Only option for me to read the files in a better way.
– blue
Nov 8 at 19:16




I can't change the file structure here, it exists in the system for many years and it can't be changed now. Only option for me to read the files in a better way.
– blue
Nov 8 at 19:16

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53213749%2fread-and-list-large-number-of-files-from-multiple-folders-in-c-sharp%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53213749%2fread-and-list-large-number-of-files-from-multiple-folders-in-c-sharp%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)