F# - 奇怪的FileNotFoundException

时间:2014-11-13 23:50:13

标签: f# streamreader

我基本上只有这个:

open System.Net
open System.IO 

let reader = new StreamReader("students.txt")
let csv = reader.ReadToEnd()

由于某种原因,这会抛出File Not Found Exception。它告诉我它找不到文件在" C:\ Users \ Shane \ ownCloud \ Home \ Assign18 \ Assign18 \ bin \ Debug \ students.txt"即使这正是文件的位置。即使我将完整的文件路径放到students.txt,或者我将其移动到另一个位置,也会发生这种情况。

任何人都知道发生了什么事?

2 个答案:

答案 0 :(得分:2)

原来我只是不习惯使用Windows(仅针对Visual Studio运行)。因此,当我将文件命名为“Students.txt”时,我没有意识到Windows已经拥有该文件的文件扩展名,它正在向我隐藏。所以整个时间,文件实际上被称为“Students.txt.txt”

答案 1 :(得分:1)

确保以管理员身份运行程序 - new StreamReader(string)在违反文件权限时未提及特定异常,因此可能会将其包装。

请注意,File.Open和前面提到的File.ReadAllText方法在遇到访问冲突时会提到特定的例外情况,因此可能会引发更多描述性(有用的)异常。