空路径名称不合法

时间:2010-10-19 18:51:44

标签: c# filestream argumentexception

所以我正在尝试编译一个Asteroids游戏。它几乎正常工作,所有文件都已到位等等......

遇到此代码时会出现问题。

FileStream myFileStream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
string myTempFile = @"F:\Documents\Junior School\Computer Programming (Java 1)\AsteroidsWithSound\AsteroidsWithSound\temp\mysound" + i.ToString() + ".wav";

它给了我一个错误/警告,不确定它叫什么,但它说

ArgumentException未处理。 空路径名称不合法。

我在网上看过这样的代码块导致了这个问题但却找不到解决方案。任何帮助都会很棒。

编辑:文件名在此块中定义。

string filename = this.Player.FileName;
this.Player.Open("");
File.Delete(filename);
this.isReady = true;

2 个答案:

答案 0 :(得分:9)

这表明filename变量引用了一个空字符串。

您尚未显示设置filename值的代码,但这是值得关注的内容。

答案 1 :(得分:0)

首先,尝试查看在文件名上放置Watch时获得的内容,然后在异常抛出行中中断。如果它是空的,那么找出它何时被设置为空字符串,如果它不是空的,那么这里的东西是非常错的,它可能是某个地方另一个(邪恶的)代码片的结果。

接下来,我建议您使用File.readXXXXX来读取文件,而不是新的FileStream。 File类可以很好地处理open-read-close过程。

希望有所帮助