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:
What should happen is the file should be read thru and put into the array using this code:
Then it will test those lines of data from the text file to check for illegal characters:
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:
What the heck does it mean??
Thanks for the help.
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
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);
}
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;
}
}
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.
Thanks for the help.
Comment