I don't understand this error Visual Studio gave me?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Fuzz13
    New Member
    • Jun 2010
    • 110

    I don't understand this error Visual Studio gave me?

    As some of you may have seen (since I have had to practically live on Bytes.com for help) I am working on a program that reads a given .txt or .csv creating an object of an array (lines[]) per line of text. The program then creates a file and/or folders based off the text lines in the file.

    I am running tests on text files to make sure I've killed what bugs I can and I got an error I don't understand.

    The text file contained this data:
    Code:
    first line is safe
    2nd line has ** illegal char
    third line is safe
    What should happen is the file should be read thru and put into the array using this code:
    Code:
    string[] lines = null; //create lines array
    
                using (StreamReader sr = new StreamReader(@newobject.csvDirectory))
                {
                    string fileContents = sr.ReadToEnd();
                    lines = fileContents.Split(new string[] { ",", Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
                }
    Then it will test those lines of data from the text file to check for illegal characters:

    Code:
    char[] illegal = { '/', '*', '\\', '|', 
                               ':', '\"', '?', '<', '>' };
    
    bool linesAreClean = true;
    
                for (int i = 0; i < lines.Length; i++)
                {
                    if (lines[i].IndexOfAny(illegal) != -1)
                    {
                        linesAreClean = false;
                        System.IO.Directory.Delete(@newobject.newDirectory);
                        break;
                    }
                }
    Then later it will check if the bool value "linesAreCl ean" is true or false. If it is "false" it returns an error I wrote. But if linesAreClean is "true" it should create the files. Yet when the text file has been cleaned (the 2 asterisks are replaced with dashes) it instead causes visual studio to give me this error:

    Code:
    Could not find a part of the path 'C:\Users\Dahlia\Desktop\Tester\test 15\first line is safe.txt'
    
    
    
    
    
    See the end of this message for details on invoking 
    just-in-time (JIT) debugging instead of this dialog box.
    
    ************** Exception Text **************
    System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Dahlia\Desktop\TESTER\test 15\first line is safe.txt'.
       at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
       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, Boolean useLongPath)
       at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
       at WindowsFormsApplication1.Form1.Runbtn_Click(Object sender, EventArgs e) in C:\Users\Dahlia\Desktop\CSV program\Form1.cs:line 151
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    
    ************** Loaded Assemblies **************
    mscorlib
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    WindowsFormsApplication1
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Users/Dahlia/Desktop/CSV%20program/WindowsFormsApplication1/WindowsFormsApplication1/bin/Release/WindowsFormsApplication1.exe
    ----------------------------------------
    System.Windows.Forms
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.1 built by: RTMRel
        CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.1 built by: RTMRel
        CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.1 built by: RTMRel
        CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Xml
        Assembly Version: 4.0.0.0
        Win32 Version: 4.0.30319.1 built by: RTMRel
        CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    
    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.
    
    For example:
    
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
    What the heck does it mean??

    Thanks for the help.
  • Fuzz13
    New Member
    • Jun 2010
    • 110

    #2
    Additionally, the code is able to use that same file to create folders based off the text file, but not .txt files. Hope that helps.

    Comment

    • Fuzz13
      New Member
      • Jun 2010
      • 110

      #3
      I found this link that address the issue in older builds of VS but I'm not sure how to apply it to VS C# express 2010.

      Comment

      Working...