# Find all files named "findthis.csv" in nested subfolders of "rootfolder"

**URL:** <https://discourse.julialang.org/t/find-all-files-named-findthis-csv-in-nested-subfolders-of-rootfolder/118096>\
**Category:** General Usage\
**Tags:** filesystem\
**Created:** [August 12, 2024, 1:59pm UTC](https://discourse.julialang.org/t/find-all-files-named-findthis-csv-in-nested-subfolders-of-rootfolder/118096 "2024-08-12T13:59:37Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)\
**Post date:** [August 12, 2024, 5:40pm UTC](https://discourse.julialang.org/t/find-all-files-named-findthis-csv-in-nested-subfolders-of-rootfolder/118096/10 "2024-08-12T17:40:47Z")

</div>

It looks like I/O objects may be mutated without indicating such with `!`. Though again, I wouldn’t necessarily realize I was creating an I/O object just to read some directory names, so it still strikes me as odd that `first` continues iterating the object.

> [@Why is it \`close(::Channel)\` instead of \`close!(::Channel)\`?](https://discourse.julialang.org/t/why-is-it-close-channel-instead-of-close-channel/24261/2):
>
> There is no explicit data structure being mutated. Yes, I/O operations change the state of the I/O stream but that’s inherent to the way they function. It could be viewed the other way but then all I/O operations would end in ! which seems unnecessary.

---

_[View the full topic](https://discourse.julialang.org/t/find-all-files-named-findthis-csv-in-nested-subfolders-of-rootfolder/118096)._
