Click here to Skip to main content
15,886,873 members
Home / Discussions / C#
   

C#

 
AnswerRe: What is the difference between JavaScript 'var' and C# 'dynamic' Pin
BillWoodruff12-Feb-14 22:40
professionalBillWoodruff12-Feb-14 22:40 
Questiondatagridview combobox Pin
abdul rafi12-Feb-14 19:29
abdul rafi12-Feb-14 19:29 
AnswerRe: datagridview combobox Pin
Eddy Vluggen13-Feb-14 9:06
professionalEddy Vluggen13-Feb-14 9:06 
Question3D Model Pin
Kadam dIgambar12-Feb-14 18:07
Kadam dIgambar12-Feb-14 18:07 
SuggestionRe: 3D Model Pin
Richard MacCutchan12-Feb-14 21:39
mveRichard MacCutchan12-Feb-14 21:39 
GeneralRe: 3D Model Pin
JV999914-Feb-14 3:07
professionalJV999914-Feb-14 3:07 
QuestionConverting Back from Decimal to Byte Pin
computerpublic12-Feb-14 10:03
computerpublic12-Feb-14 10:03 
AnswerRe: Converting Back from Decimal to Byte Pin
Richard Deeming12-Feb-14 11:07
mveRichard Deeming12-Feb-14 11:07 
Firstly, why have you reposted this question when Harold is already helping you on your previous copy of this question[^]?

Secondly, the code you have posted does not produce a "garbage file". The bytes in data2 will match the bytes in data exactly. You will end up overwriting the original file with an exact copy of itself.

Thirdly, you state that you don't know how to use the File.WriteAllBytes method, and yet you have a perfectly valid example of it in your code!

Cleaning up your code, replacing the BinaryWriter with File.WriteAllBytes, and adding some sanity checks:
C#
DirectoryInfo da = new DirectoryInfo("C:\\Folder");
FileInfo[] Arr = da.GetFiles();
if (Arr.Length == 0)
{
    throw new InvalidOperationException("No files found.");
}


// No need to loop through the array just to get the last item:
FileInfo ap = Arr[Arr.Length - 1];
long Totbyte = ap.Length;
string filePath = ap.FullName;
Console.WriteLine("Total Bytes = {0} bytes", Totbyte);


// GetTempFileName *creates* the file, so it always exists:
string temPath = Path.GetTempFileName();
byte[] data = File.ReadAllBytes(filePath);
File.WriteAllBytes(temPath, data);


// Convert the bytes to decimals:
decimal[] arry = new decimal[Totbyte];
for (int count = 0; count < data.Length; count++)
{
    arry[count] = data[count];
}


// Convert the decimals back to bytes:
byte[] data2 = new byte[Totbyte];
for (int count = 0; count < arry.Length; count++)
{
    data2[count] = (byte)arry[count];
}


// Just to prove they're the same:
if (data2.Length != data.Length)
{
    throw new InvalidOperationException("Wrong length!");
}
for (int index = 0; index < data.Length; index++)
{
    if (data[index] != data2[index])
    {
        throw new InvalidOperationException("Data has changed at index " + index);
    }
}


// Write the bytes back to the file:
File.WriteAllBytes(filePath, data2);


// To prove they're still the same:
data = File.ReadAllBytes(temPath);
data2 = File.ReadAllBytes(filePath);

if (data2.Length != data.Length)
{
    throw new InvalidOperationException("Wrong length!");
}
for (int index = 0; index < data.Length; index++)
{
    if (data[index] != data2[index])
    {
        throw new InvalidOperationException("Data has changed at index " + index);
    }
}


If you run this code and end up with a "garbage" file, that means you started with a garbage file!



"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer


GeneralRe: Converting Back from Decimal to Byte Pin
computerpublic12-Feb-14 11:29
computerpublic12-Feb-14 11:29 
GeneralRe: Converting Back from Decimal to Byte Pin
Richard Deeming13-Feb-14 0:37
mveRichard Deeming13-Feb-14 0:37 
GeneralRe: Converting Back from Decimal to Byte Pin
computerpublic13-Feb-14 9:15
computerpublic13-Feb-14 9:15 
GeneralRe: Converting Back from Decimal to Byte Pin
Richard Deeming13-Feb-14 10:35
mveRichard Deeming13-Feb-14 10:35 
GeneralRe: Converting Back from Decimal to Byte Pin
computerpublic13-Feb-14 10:48
computerpublic13-Feb-14 10:48 
GeneralRe: Converting Back from Decimal to Byte Pin
computerpublic16-Feb-14 6:00
computerpublic16-Feb-14 6:00 
GeneralRe: Converting Back from Decimal to Byte Pin
computerpublic16-Feb-14 6:03
computerpublic16-Feb-14 6:03 
GeneralRe: Converting Back from Decimal to Byte Pin
Richard Deeming17-Feb-14 1:46
mveRichard Deeming17-Feb-14 1:46 
GeneralRe: Converting Back from Decimal to Byte Pin
computerpublic18-Feb-14 22:51
computerpublic18-Feb-14 22:51 
GeneralRe: Converting Back from Decimal to Byte Pin
computerpublic18-Feb-14 23:03
computerpublic18-Feb-14 23:03 
GeneralRe: Converting Back from Decimal to Byte Pin
Richard Deeming19-Feb-14 1:59
mveRichard Deeming19-Feb-14 1:59 
GeneralRe: Converting Back from Bit to Byte Pin
computerpublic13-Mar-14 8:16
computerpublic13-Mar-14 8:16 
AnswerRe: Converting Back from Decimal to Byte Pin
Eddy Vluggen12-Feb-14 11:21
professionalEddy Vluggen12-Feb-14 11:21 
QuestionRe: Converting Back from Decimal to Byte Pin
Richard MacCutchan12-Feb-14 21:38
mveRichard MacCutchan12-Feb-14 21:38 
Questiontreeview and database Pin
danmor49812-Feb-14 6:45
danmor49812-Feb-14 6:45 
QuestionRe: treeview and database Pin
Ravi Bhavnani12-Feb-14 7:28
professionalRavi Bhavnani12-Feb-14 7:28 
AnswerRe: treeview and database Pin
danmor49812-Feb-14 7:52
danmor49812-Feb-14 7:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.