File.ReadAllBytes Method
Opens a binary file, reads the contents of the file into a byte array, and then closes the file.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- path
- Type: System.String
The file to open for reading.
| Exception | Condition |
|---|---|
| ArgumentException |
path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars. |
| ArgumentNullException |
path is null. |
| PathTooLongException |
The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. |
| DirectoryNotFoundException |
The specified path is invalid (for example, it is on an unmapped drive). |
| IOException |
An I/O error occurred while opening the file. |
| UnauthorizedAccessException |
This operation is not supported on the current platform. -or- path specified a directory. -or- The caller does not have the required permission. |
| FileNotFoundException |
The file specified in path was not found. |
| NotSupportedException |
path is in an invalid format. |
| SecurityException |
The caller does not have the required permission. |
-
FileIOPermission
for access to read from a file or directory. Associated enumeration: FileIOPermissionAccess.Read
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
#using <mscorlib.dll>
#using <System.dll>
#using <WindowsBase.dll>
using namespace System;
using namespace System::IO;
using namespace System::IO::Packaging;
//----------------------------------------------------------------------------
// ZipFiles
//
// Creates the specified .zip file from the collection of files indicated by
// the specified array of files
//
// Note: The resulting .zip file will contain a file called
// [Content_Types].xml when it is unZIPped, and contains content
// information about the types of files included in the .zip file.
//----------------------------------------------------------------------------
void ZipFiles(
array <String ^> ^filesToZip,
String ^zipFileName)
{
if (filesToZip && filesToZip->Length && zipFileName && zipFileName->Length)
{
Package ^zipPackage = Package::Open(zipFileName, FileMode::Create);
for each (String ^pathString in filesToZip)
{
if (pathString && File::Exists(pathString))
{
String ^zipURI =
String::Concat("/", Path::GetFileName(pathString)->Replace(" ", "_"));
Uri ^partURI = gcnew Uri(zipURI, UriKind::Relative);
PackagePart ^packagePart =
zipPackage->CreatePart(
partURI,
MediaTypeNames::Application::Zip,
CompressionOption::Normal);
array <Byte> ^fileBytes = File::ReadAllBytes(pathString);
packagePart->GetStream()->Write(fileBytes, 0, fileBytes->Length);
delete [] fileBytes;
delete partURI;
}
}
zipPackage->Close();
delete zipPackage;
}
}