Visual C++ .NET/File Directory/FileStream
Содержание
Create and save binary file with FileStream
#include "stdafx.h"
using namespace System;
using namespace System::IO;
void main()
{
FileStream ^fso = gcnew FileStream("file.dat", FileMode::Create,FileAccess::Write, FileShare::None);
array<unsigned char>^ data = gcnew array<unsigned char> { "T", "h", "i","\r", "\n" };
for (int i = 0; i < data->Length-5; i += 5)
{
fso->Write(data, i, 5);
}
fso->Close();
}
Get binary file length
#include "stdafx.h"
using namespace System;
using namespace System::IO;
void main()
{
FileStream ^fso = gcnew FileStream("file.dat", FileMode::Create,FileAccess::Write, FileShare::None);
array<unsigned char>^ data = gcnew array<unsigned char> { "T", "h", "i","\r", "\n" };
for (int i = 0; i < data->Length-5; i += 5)
{
fso->Write(data, i, 5);
}
fso->Close();
FileInfo ^fi = gcnew FileInfo("file.dat");
FileStream ^fsi = fi->OpenRead();
int fileLength = (int)fi->Length;
int b;
while ((b = fsi->ReadByte()) != -1)
{
Console::Write((Char)b);
}
fsi->Position = 0;
array<unsigned char>^ ca = gcnew array<unsigned char>(fileLength);
fsi->Read(ca, 0, fileLength);
for (int i = 0; i < ca->Length; i++)
{
Console::Write((Char)ca[i]);
}
fsi->Close();
fi->Delete();
}
Read binary file to an array
#include "stdafx.h"
using namespace System;
using namespace System::IO;
void main()
{
FileStream ^fso = gcnew FileStream("file.dat", FileMode::Create,FileAccess::Write, FileShare::None);
array<unsigned char>^ data = gcnew array<unsigned char> { "T", "h", "i","\r", "\n" };
for (int i = 0; i < data->Length-5; i += 5)
{
fso->Write(data, i, 5);
}
fso->Close();
FileInfo ^fi = gcnew FileInfo("file.dat");
FileStream ^fsi = fi->OpenRead();
int fileLength = (int)fi->Length;
int b;
while ((b = fsi->ReadByte()) != -1)
{
Console::Write((Char)b);
}
fsi->Position = 0;
array<unsigned char>^ ca = gcnew array<unsigned char>(fileLength);
fsi->Read(ca, 0, fileLength);
for (int i = 0; i < ca->Length; i++)
{
Console::Write((Char)ca[i]);
}
fsi->Close();
fi->Delete();
}
Read byte from binary file
#include "stdafx.h"
using namespace System;
using namespace System::IO;
void main()
{
FileStream ^fso = gcnew FileStream("file.dat", FileMode::Create,FileAccess::Write, FileShare::None);
array<unsigned char>^ data = gcnew array<unsigned char> { "T", "h", "i","\r", "\n" };
for (int i = 0; i < data->Length-5; i += 5)
{
fso->Write(data, i, 5);
}
fso->Close();
FileInfo ^fi = gcnew FileInfo("file.dat");
FileStream ^fsi = fi->OpenRead();
int fileLength = (int)fi->Length;
int b;
while ((b = fsi->ReadByte()) != -1)
{
Console::Write((Char)b);
}
fsi->Position = 0;
array<unsigned char>^ ca = gcnew array<unsigned char>(fileLength);
fsi->Read(ca, 0, fileLength);
for (int i = 0; i < ca->Length; i++)
{
Console::Write((Char)ca[i]);
}
fsi->Close();
fi->Delete();
}
Rewind by setting the binary file reading position
#include "stdafx.h"
using namespace System;
using namespace System::IO;
void main()
{
FileStream ^fso = gcnew FileStream("file.dat", FileMode::Create,FileAccess::Write, FileShare::None);
array<unsigned char>^ data = gcnew array<unsigned char> { "T", "h", "i","\r", "\n" };
for (int i = 0; i < data->Length-5; i += 5)
{
fso->Write(data, i, 5);
}
fso->Close();
FileInfo ^fi = gcnew FileInfo("file.dat");
FileStream ^fsi = fi->OpenRead();
int fileLength = (int)fi->Length;
int b;
while ((b = fsi->ReadByte()) != -1)
{
Console::Write((Char)b);
}
fsi->Position = 0;
array<unsigned char>^ ca = gcnew array<unsigned char>(fileLength);
fsi->Read(ca, 0, fileLength);
for (int i = 0; i < ca->Length; i++)
{
Console::Write((Char)ca[i]);
}
fsi->Close();
fi->Delete();
}