Visual C++ .NET/File Directory/FileStream
Содержание
Create and save binary file with FileStream
<source lang="csharp">
- 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();
}
</source>
Get binary file length
<source lang="csharp">
- 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();
}
</source>
Read binary file to an array
<source lang="csharp">
- 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();
}
</source>
Read byte from binary file
<source lang="csharp">
- 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();
}
</source>
Rewind by setting the binary file reading position
<source lang="csharp">
- 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();
}
</source>