create a .csv file using a variable as the name
-
System.IO.FileInfo fi = new System.IO.FileInfo
(
string.Format
(
"{0:ddMMyyyy}_{1}_{2}.csv"
,
System.DateTime.Now
,
"hi"
,
123
)
) ;using ( System.IO.FileStream tw = fi.OpenWrite() )
{
...
}However, I do suggest you format the date as "yyyyMMdd" to comply with ISO 8601. Don't bother testing for file existence unless you want to read it, not write it. The OpenWrite will create the file if it doesn't exist, and overwrite it if it does.
-
...In case it is not clear... int day = date.Day; int month= date.Month; int year= date.Year; string str="hi"; int res="123"; string fileName = day + month + year + "_" + str + "_" + res However, if I do : File.Create("c:\\code\\fileName.txt"), it creates a file with the name "fileName"...rather than the value of fileName ...any ideas?
-
go like this: File.Create("c:\\code\\" + filename + ".txt"); It's one of those obvious things that you can't see...like having to look a little right or left to see a dim star. Dave
-
...In case it is not clear... int day = date.Day; int month= date.Month; int year= date.Year; string str="hi"; int res="123"; string fileName = day + month + year + "_" + str + "_" + res However, if I do : File.Create("c:\\code\\fileName.txt"), it creates a file with the name "fileName"...rather than the value of fileName ...any ideas?
Colins sarcasm came from the fact that you knew how to do string concantenation, but when it came to giving a string representing a filename, you suddenly forgot how to do string concantenation! Someone told you that "1+1=2" and you said "I KNOW!!", then when they asked you "what's 1+1?", you said you didn't know!
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007 -
Thanks for the info.;P I was checking for file existance in case the file had already been created, so the new file should have some extra character in the name to differenciate them.
Well that's alright then.
-
Thanks a lot David! really appreciate...that is what i was looking for. -- modified at 11:39 Saturday 13th October, 2007
-
Thanks for the info.;P I was checking for file existance in case the file had already been created, so the new file should have some extra character in the name to differenciate them.
System.IO.FileInfo fi ;
int seq = 0 ;do
{
fi = new System.IO.FileInfo
(
string.Format
(
"{0:ddMMyyyy}_{1}_{2:000}.csv"
,
System.DateTime.Now
,
"hi"
,
++seq
)
) ;
} while ( fi.Exists ) ;using ( System.IO.FileStream tw = fi.OpenWrite() )
{}
-
Colins sarcasm came from the fact that you knew how to do string concantenation, but when it came to giving a string representing a filename, you suddenly forgot how to do string concantenation! Someone told you that "1+1=2" and you said "I KNOW!!", then when they asked you "what's 1+1?", you said you didn't know!
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007...and what "good" did sarcasm brought to the whole afair!? ... I see your point Dave... " but when it came to giving a string representing a filename, you suddenly forgot how to do string concantenation! " It wasn't that I forgot,I just didn't know that it could be done like that...as you all might have gueesed by now I am new with this. Anyway, thanks to PIEBALconsul and David for the help
-
System.IO.FileInfo fi ;
int seq = 0 ;do
{
fi = new System.IO.FileInfo
(
string.Format
(
"{0:ddMMyyyy}_{1}_{2:000}.csv"
,
System.DateTime.Now
,
"hi"
,
++seq
)
) ;
} while ( fi.Exists ) ;using ( System.IO.FileStream tw = fi.OpenWrite() )
{}
-
Colins sarcasm came from the fact that you knew how to do string concantenation, but when it came to giving a string representing a filename, you suddenly forgot how to do string concantenation! Someone told you that "1+1=2" and you said "I KNOW!!", then when they asked you "what's 1+1?", you said you didn't know!
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007 -
Dave Kreskowiak wrote:
Someone told you that "1+1=2" and you said "I KNOW!!", then when they asked you "what's 1+1?", you said you didn't know!
...depends on whether or not you're working in binary, hex, decimal, octal...you need to be more specific :)
Or strings. Or meta information.
-
...I know how to concatenate strings! the problem is how I then refer to that "variable" when creating the .csv
mocasu wrote:
...I know how to concatenate strings! the problem is how I then refer to that "variable" when creating the .csv
So you don't know how to use a variable instead of a literal string. Here's an example: This is some code with a literal string:
Console.WriteLine("Hello world!");
You can put the string in a variable and use that variable in place of the literal string:string message; message = "Hello world!"; Console.WriteLine(message);
This is very basic in programming, and what you are trying to do is on a much higher level. You should start with the basics before moving on to more complex things.--- single minded; short sighted; long gone;
-
...and what "good" did sarcasm brought to the whole afair!? ... I see your point Dave... " but when it came to giving a string representing a filename, you suddenly forgot how to do string concantenation! " It wasn't that I forgot,I just didn't know that it could be done like that...as you all might have gueesed by now I am new with this. Anyway, thanks to PIEBALconsul and David for the help
mocasu wrote:
It wasn't that I forgot,I just didn't know that it could be done like that...
That's why I'm saying that you should start with the basics. If you only can use something in a way that you've seen it used before, you have only learned to mimic others, you haven't really learned how it works.
--- single minded; short sighted; long gone;
-
...In case it is not clear... int day = date.Day; int month= date.Month; int year= date.Year; string str="hi"; int res="123"; string fileName = day + month + year + "_" + str + "_" + res However, if I do : File.Create("c:\\code\\fileName.txt"), it creates a file with the name "fileName"...rather than the value of fileName ...any ideas?
You need to buy a book on C# and read it. It's pretty basic stuff that anything in quotes, is a verbatim string. Your variable name becomes a variable name only when it's not in quotes. @"c:\code\" + filename + ".txt";
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )