我使用以下代码片段,并且不确定是否需要调用Flush方法(一次在StreamWriter上,一次在MemoryStream上):
//converts an xsd object to the corresponding xml string, using the UTF8 encoding
public string Serialize(T t)
{
using (var memoryStream = new MemoryStream())
{
var encoding = new UTF8Encoding(fa
我需要将XML数据写入加密文件。我可以读/写加密文件,但我不知道如何跳过文件输入部分,而是从MemoryStream对象开始。
这就是我到目前为止所拥有的。基本上,我只需要得到一个Byte[],在上面执行我的标准加密。
我很感谢你这么棒的投入。我将很快对此进行测试。
编辑:在测试之后,当我尝试关闭memorystream对象时,我得到了一个“无法访问关闭的流”异常。
MemoryStream ms = new MemoryStream();
XmlTextWriter xmlwriter = new XmlTextWriter(ms,Encoding.ASCII);
FileStream En
我有一个要打开的RTF文件,替换一个字符串"TEMPLATE_Name“并保存。但保存后,该文件无法再次正确打开。当我使用MS Word时,文件打开并显示RTF原始代码而不是文本。
我担心我破坏了格式或编码,但我真的不知道如何:
using (MemoryStream ms = new MemoryStream(1000))
using (StreamWriter sw = new StreamWriter(ms,Encoding.UTF8))
{
using (Stream fsSource = new File
我正在尝试使用DotNetZip组件在MVC方法中创建一个压缩文件。
下面是我的代码:
public FileResult DownloadImagefilesAsZip()
{
using (var memoryStream = new MemoryStream())
{
using (var zip = new ZipFile())
{
zip.AddDirectory(Server.MapPath("/Images/"));
下面的代码首先将一行文本保存到文本文件中,呈现在azure存储中,然后读取并打印。
string firstString = "this \t is \n a \t line \n are: ";
using (var memoryStream = new MemoryStream())
{
memoryStream.Write(System.Text.Encoding.UTF8.GetBytes(firstString), 0, System.Text.Encoding.
myByte -所有字节均为零
A= "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==“
var memoryStream = new MemoryStream();
var binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, m_workspace.ListPlatforms.ToArray());
myByte = new byte[memoryStream.Length];
public static byte[] Compress(byte[] data)
{
using (MemoryStream ms = new MemoryStream())
{
using (DeflateStream ds = new DeflateStream(ms, CompressionMode.Compress))
{
ds.Write(data, 0, data.Length);
ds.Flush();
}
return ms.ToArray();
我正在尝试用GZipStream压缩数据。代码非常简单:
// Serialize
var ms = new MemoryStream();
ProtoBuf.Serializer.Serialize(ms, result);
ms.Seek(0, SeekOrigin.Begin);
// Compress
var ms2 = new MemoryStream();
GZipStream zipStream = new GZipStream(ms2, CompressionMode.Compress);
ms.CopyTo(zipStream);
zipStream.Flush();
/
我一直在使用以下代码压缩.Net 4.0中的数据:
public static byte[] CompressData(byte[] data_toCompress)
{
using (MemoryStream outFile = new MemoryStream())
{
using (MemoryStream inFile = new MemoryStream(data_toCompress))
using (GZipStream Compress = new GZipStream(outFile, CompressionMode.Comp
class StreamReaderWriterDemo : AbastractDemo
{
public override void Run()
{
string message = "hello this is a test 0000";
string result = string.Empty;
try
{
using (var memoryStream = new MemoryStream())
{
Str
我有一个写入队列的组件(下面是代码):
using (MessageQueueTransaction transaction = new MessageQueueTransaction())
{
transaction.Begin();
using (var queue = new MessageQueue(@fullQueue, QueueAccessMode.Send))
{
BinaryMessageFormatter forma
我正在尝试使用NAudio录制8秒的流媒体音频,将其存储在System.IO.MemoryStream中,然后立即播放。为此,我运行以下代码:
using System.IO;
using NAudio.Wave;
public class AudioCapture{
static WaveFileWriter wri;
static bool stopped = false;
public AudioCapture(){
//record from loopback
IWaveIn waveIn = new WasapiLoopb
DeflateStream.Read没有工作,我试图从压缩的内存流中读取,但是read的字节数组参数仍然是空的。
var memoryStream = new MemoryStream();
var writeStream = new DeflateStream(memoryStream, CompressionLevel.Optimal, true);
var readStream = new DeflateStream(memoryStream, CompressionMode.Decompress, true);
va
你们好,所以在你们帮助我正确地转换“压缩”函数后,我也尝试转换了解压缩函数
现在我在这里(由我解压函数)
let DecompressString (detext : string) =
let buffer = Convert.FromBase64String detext
using (new MemoryStream ()) <| fun memoryStream ->
using (new GZipStream(memoryStream, CompressionMode.Decompress, true)) <| fun gzi
实例化Stream对象(如MemoryStream )并调用memoryStream.Write()方法写入流与使用流实例化StreamWriter对象并调用streamWriter.Write()之间的区别是什么
考虑以下场景:
您有一个方法,它接受Stream,写入值,然后返回它。该流是从后面读取的,因此必须重置位置。有两种可能的方法(这两种方法似乎都有效)。
// Instantiate a MemoryStream somewhere
// - Passed to the following two methods
MemoryStream memoryStream = new
在这段代码中我需要一个Seek调用吗?
// Assume bytes = byte[] of some bytes
using (var memoryStream = new MemoryStream(bytes))
{
memoryStream.Seek(0, SeekOrigin.Begin);
return new BinaryFormatter().Deserialize(memoryStream);
}
我的根本问题是,当using在StreamWriter上调用Dispose时,它也会处理BaseStream (Close也有同样的问题)。
我有一个解决方法,但正如您所看到的,它涉及到复制流。有没有办法在不复制流的情况下做到这一点?
这样做的目的是将字符串(最初从数据库中读取)的内容放入流中,以便第三方组件可以读取该流。
NB:我无法更改第三方组件。
public System.IO.Stream CreateStream(string value)
{
var baseStream = new System.IO.MemoryStream();
var baseCopy =
我希望能够并行读写一个大文件,如果不是并行读写,至少是分块读写,这样就不会占用太多内存。
这是我当前的代码:
// Define memory stream which will be used to hold encrypted data.
MemoryStream memoryStream = new MemoryStream();
// Define cryptographic stream (always use Write mode for encryption).
CryptoStream cryptoStream
我试图使用SevenZipSharp压缩和解压缩内存流。压缩工作正常,但解压不是。我认为SevenZipSharp无法从流中显示归档类型。
SevenZipCompressor compress = new SevenZip.SevenZipCompressor();
compress.CompressionLevel = CompressionLevel.Normal;
compress.CompressionMethod = CompressionMethod.Lzma
using (MemoryStream memStream = new MemoryStream())
{
c
TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
using (MemoryStream allFrameStream = new MemoryStream())
{
foreach (BitmapFrame frame in decoder.Frames)
{
using (MemoryStream ms= new MemoryStre
我正在尝试用AES和streams加密/解密字符串。我使用以下代码进行加密: var provider = Aes.Create();
provider.Mode = CipherMode.CBC;
provider.Padding = PaddingMode.PKCS7;
using var encryptor = provider.CreateEncryptor();
using var memoryStream = new MemoryStream();
using var cryptoStream = new CryptoStream(memoryStream, encryptor,
我在.Net核心2中工作,我使用并获取一个v3文件。我拿回了一个MemoryStream,但无法将MemoryStream读给XmlDocument。我尝试了几个文件,内存流的大小与文件大小相匹配,所以我确信我能够很好地获取数据。如何将该MemoryStream转换为XmlDocument?还是可以解析成XML的字符串?
我尝试过将流加载到xml文档和文本阅读器中。文本读取器带着一个空字符串返回,xml加载程序说找不到父节点。
//Fetch the file from Google Drive
var request = _driveService.Files.Get(fileId);
va