|
I am very sorry. Were you trying to add something useful that would help a novice like myself, or were you trying to prove that you can form complete a sentence. Honestly, I am only looking for constructive help. Nothing else.
|
|
|
|
|
I think you responded in the wrong spot. This thread is from a very generic question and the first response, not even from me, was to search google. This isn't even your question. Then a few of us enjoyed a little humor during a Friday workday.
I actually did provide you an answer to one of your questions.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
I wrote this small program from an example in the C# book and it compile fine, but gives a path error for the file that I am reading. I created an external file at c:\tempPath
Can someone please advise?
Thanks.
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplicationTEST2
{
class Program
{
static void Main(string[] args)
{
string tempPath = Path.GetTempFileName();
string tempPath2 = Path.GetTempFileName();
if (File.Exists(tempPath))
{
byte[] data = File.ReadAllBytes("c:\tempPath");
File.WriteAllBytes(tempPath2, data);
Console.WriteLine("First byte: {0}", data[0]);
Console.WriteLine("Last byte: {0}", data[data.Length]);
Console.WriteLine(data.Length);
}
}
}
}
OUTPUT:
Unhandled Exception: System.ArgumentException: Illegal characters in path.
at System.IO.Path.CheckInvalidPathChars(String path)
at System.IO.Path.GetFileName(String path)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share)
at System.IO.File.ReadAllBytes(String path)
at ConsoleApplicationTEST2.Program.Main(String[] args) in C:\Users\computerpu
blic\Desktop\ConsoleApplicationTEST2\ConsoleApplicationTEST2\Program.cs:line 20
Press any key to continue . . .
|
|
|
|
|
You need to learn about character escaping in strings.
computerpublic wrote: byte[] data = File.ReadAllBytes("c:\tempPath"); That string is (shown 1 character per line for clarity)
c
:
tab character (\t)
e
m
p
P
a
t
h
What you probably mean is "c:\\tempPath" .
While you are at it, read up on Unicode .
Peter
Software rusts. Simon Stephenson, ca 1994.
|
|
|
|
|
Peter,
When I make it ("C:\\tempPath", it gives me the following error:
Unhandled Exception: System.IO.FileNotFoundException: Could not find file 'c:\te
mpPath'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, I
nt32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions o
ptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolea
n useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share)
at System.IO.File.ReadAllBytes(String path)
at ConsoleApplicationTEST2.Program.Main(String[] args) in C:\Users\computerpu
blic\Desktop\ConsoleApplicationTEST2\ConsoleApplicationTEST2\Program.cs:line 18
Press any key to continue . . .
|
|
|
|
|
That's because it is a directory. You need to point to a file.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
5!
|
|
|
|
|
Yeah, what he said. Or you could use a verbatim string -- @"c:\tempPath" .
|
|
|
|
|
5!
|
|
|
|
|
Or: "c:/temppath". .Net allows the separator to go either way.
|
|
|
|
|
BobJanova wrote: .Net allows the separator to go either way.
There are soooooo many jokes just crawling all over that statement.
|
|
|
|
|
Yes, but this is a serious forum, so I thought it would be okay
|
|
|
|
|
BobJanova wrote: Yes, but this is a serious forum,
Is it? Good gravy man, that's news to me.
|
|
|
|
|
It looks like you want to 'copy' a file from one directory to another. You give it 2 arguments: source and destination. correct?
In that case I would rather go for:
byte[] data = File.ReadAllBytes(tempPath);
"C:\tempPath" denotes a directory ,not a file.
PS: note that the other comments are valid, the \ backslash character needs to be escaped as follows.
"C:\\tempPath\\"
@"C:\tempPath\"
Another thing is see going wrong is this line:
Console.WriteLine("Last byte: {0}", data[data.Length]);
Console.WriteLine("Last byte: {0}", data[data.Length-1]);
Hope this helps.
V.
|
|
|
|
|
computerpublic wrote: static void Main(string[] args)
string tempPath = Path.GetTempFileName();
string tempPath2 = Path.GetTempFileName();
if (File.Exists(tempPath))
{
byte[] data = File.ReadAllBytes("c:\tempPath");
Oh my.
1.
As Path.GetTempFileName() tries to provide you with a randomly chosen file name in order NOT to clash with existing files, how on earth do you expect File.Exists() to ever return true?
2.
Code should be put inside PRE tags, to preserve formatting and improve readability.
3.
And if there is some code sitting in between both method calls, you really should have indicated so.
4.
There is absolutely no relation between a variable called tempPath, and a file path with the value @"C:\tempPath".
Did you skip your morning coffee?
|
|
|
|
|
I changed the file name to "c:\\temp" and it still does not work.
|
|
|
|
|
The file name is stored in your variable tempFile .
Why are you giving it a string literal that says "C:\tempFile"?
Try
byte[] fileData = File.ReadAllBytes(tempFile);
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
5!
|
|
|
|
|
can any body tell me how to create cron file in .net using c# for web application..
|
|
|
|
|
Considering Windows has no concept of a "cron" file, that's pretty much impossible to do.
Are you talking about scheduling a task to run as some future point?
|
|
|
|
|
Dave Kreskowiak wrote: pretty much impossible to do
its just a matter of time
Failure is not an option; it's the default selection.
|
|
|
|
|
hmmmmm ok
|
|
|
|
|
hmmm ok
|
|
|
|
|
What is your exact requirement? for scheduling tasks it will be better creating a desktop application & using windows scheduler to schedule it....
|
|
|
|
|
its ok ...and thank you
|
|
|
|