How to write bytes to file?
If you want to write bytes then you should open the file in binary mode.
f = open('/tmp/output', 'wb')
Write bytes to file
If I understand you correctly, this should do the trick. You'll need add using System.IO
at the top of your file if you don't already have it.
public bool ByteArrayToFile(string fileName, byte[] byteArray)
{
try
{
using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
fs.Write(byteArray, 0, byteArray.Length);
return true;
}
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in process: {0}", ex);
return false;
}
}
Write bytes to a file natively in PowerShell
Running C# assemblies is native to PowerShell, therefore you are already writing bytes to a file "natively".
If you insist, you can use a construction like set-content test.jpg -value (([char[]]$decoded) -join "")
, this has a drawback of adding #13#10 to the end of written data. With JPEGs it's bearable, but other files may get corrupt from this alteration. So please stick with byte-optimized routines of .NET instead of searching for "native" approaches - these are already native.
C++ writing byte to file
operator <<
is designed for formatted output.
When writing strict binary, you should focus on member functions put
(for one byte) or write
(for a variable number of bytes).
This will write your bitset as a single byte.
binFile.put( a.to_ulong() );
How to write bytes to a file in Python 3 without knowing the encoding?
It's a matter of using APIs that operate on bytes, rather than strings.
sys.stdout.buffer.write(bytes_)
As the docs explain, you can also detach
the streams, so they're binary by default.
This accesses the underlying byte buffer.
tempfile.TemporaryFile().write(bytes_)
This is already a byte API.
open('filename', 'wb').write(bytes_)
As you would expect from the 'b', this is a byte API.
from io import BytesIO
BytesIO().write(bytes_)
BytesIO
is the byte equivalent to StringIO
.
EDIT: write
will Just Work on any binary file-like object. So the general solution is just to find the right API.
How to write byte(s) to a file in C++?
The issue is operator<<
is the text encoding method, even if you've specified std::ofstream::binary
. You can use put
to write a single binary character or write
to output multiple characters. Note that you are responsible for the conversion of data to its char
representation.
std::bitset<8> bits = foo();
std::ofstream outfile("compressed", std::ofstream::out | std::ofstream::binary);
// In reality, your conversion code is probably more complicated than this
char repr = bits.to_ulong();
// Use scoped sentries to output with put/write
{
std::ofstream::sentry sentry(outfile);
if (sentry)
{
outfile.put(repr); // <- Option 1
outfile.write(&repr, sizeof repr); // <- Option 2
}
}
Python how to write bytes in a .txt file
You need to convert \n
to bytes.
file.write(encrypted_data + bytes('\n'))
cannot write bytes to gif file (python)
I am going to take a guess that you are attempting to directly call the functions and have not created an object from your class and then called the functions via your object. Following is a snippet of code I wrote using your class and functions that did pump out data to a binary file.
import pathlib
class fileAdd():
def create_file(self, input):
self.filepath = pathlib.Path('gifs/' + input)
self.fp = open(self.filepath, 'ab')
print("file created")
def add_data(self, input):
self.fp.write(input)
print("adding data")
def close(self):
self.fp.close()
x = b'\x00\x00\x00'
fpx = fileAdd()
fpx.create_file("GIF")
fpx.add_data(x)
fpx.close()
Following is the sample output to the file called "GIF".
@Una:~/Python_Programs/File/gifs$ hexdump GIF
0000000 6548 6c6c 006f 0000
0000008
Give that a try and see if that moves you forward.
byte[] to file in Java
Use Apache Commons IO
FileUtils.writeByteArrayToFile(new File("pathname"), myByteArray)
Or, if you insist on making work for yourself...
try (FileOutputStream fos = new FileOutputStream("pathname")) {
fos.write(myByteArray);
//fos.close(); There is no more need for this line since you had created the instance of "fos" inside the try. And this will automatically close the OutputStream
}
Related Topics
Parallel.For(): Update Variable Outside of Loop
Factory Pattern in C#: How to Ensure an Object Instance Can Only Be Created by a Factory Class
How to Copy File - Access to the Path Is Denied
Transparent Window Layer That Is Click-Through and Always Stays on Top
How to Get the Position of Textbox That Has Been Pressed
Read a Xml (From a String) and Get Some Fields - Problems Reading Xml
Do Using Statements and Await Keywords Play Nicely in C#
.Net Core 3 Yields Different Floating Point Results from Version 2.2
Is Graphics.Drawimage Too Slow for Bigger Images
Read Big Txt File, Out of Memory Exception
How to Add Code Outside the Scope of Main When Using C# 9 Top Level Statements
C# Marking Class Property as Dirty
ASP.NET Gridview: How to Edit and Delete Data Records
Get Iprincipal from Oauth Bearer Token in Owin
Case-Insensitive Dictionary with String Key-Type in C#
How to Download/Upload Files From/To Sharepoint 2013 Using Csom