I need to read from a number of files but sometimes they are not available or cannot be read from current user. This is the code I'm using to check if file is valid but I think I'm not using the using
statement correctly.
private static bool fileAccessible(string filePath) {
using (FileStream fs = new FileStream(filePath, FileMode.Open)) {
if (fs.CanRead) {
return true;
}
else {
return false;
}
}
return false; // compiler says "unreachable code"
}
Should I insert a try/catch
block outside the using
statement to catch errors raised by unavailable file or will using
go on without raising an error if filePath
is not available?
Bonus question: is this the correct way to check if file is available and accessible? If the answer is Yes can I change FileMode.Open
to FileMode.Append
to perform the same check on writable files?