次のコードスニペットを検討してください
private void ProcessFile(string fullPath) {
XmlTextReader rdr = new XmlTextReader("file:\\\\" + fullPath);
while (rdr.Read()) {
//Do something
}
return;
}
現在、これは次のようなパスを渡されたときに正常に機能します。
"C:\ Work Files \ Technical Information \ Dummy.xml"
しかし、渡されるとエラーをスローします
"C:\ Work Files \ #Technical Information \ Dummy.xml"
指定されたすべてのフォルダとファイルが存在し、ハッシュ文字がパスの有効な文字であることに注意してください。エラーの詳細は次のとおりです。
System.IO.DirectoryNotFoundException:パス'C:\ WorkFiles\'の一部が見つかりませんでした。
System.IO .__ Error.WinIOError(Int32 errorCode、String mayFullPath)
at System.IO.FileStream.Init(String path、FileMode mode、FileAccess access、Int32 rights、Boolean useRights、FileShare share、Int32 bufferSize、FileOptions options、SECURITY_ATTRIBUTES secAttrs 、String msgPath、Boolean bFromProxy)
at System.IO.FileStream..ctor(String path、FileMode mode、FileAccess access、FileShare share、Int32 bufferSize)
at System.Xml.XmlDownloadManager.GetStream(Uri uri、ICredentialscredentials)atSystem
。
System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver)の
Xml.XmlUrlResolver.GetEntity(Uri AbsoluteUri、String role、Type ofObjectToReturn
)
System.Threading.CompressedStack.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code、CleanupCode backoutCode、Object userData)
at System.Threading.CompressedStack.Run(CompressedStack CompressionStack、ContextCallback callback、Object state)
System.Xml.XmlTextReaderImpl.OpenUrl()
でSystem.Xml.XmlTextReaderImpl.Read()
でSystem.Xml.XmlTextReader.Read()で
誰が何が起こっているのか知っていますか?