标签: binaryreader

BinaryReader.ReadInt32与输入文件相比意外结果,为什么?

我对特定的BinaryReader操作感到困惑.

使用十六进制编辑器(UltraEdit)查看二进制文件时,前四个字节为:52 62 38 11.

当使用a迭代同一个文件时BinaryReader,如果我ReadInt32()先调用,我希望int值为1,382,168,593.

.ReadInt32():从当前流中读取一个4字节有符号整数,并将流的当前位置提前四个字节.

相反,我得到288,907,858.

很明显,我错过了一些明显的东西......谁能解释一下发生了什么?

c# binaryreader

1
推荐指数
1
解决办法
1126
查看次数

如何在文件末尾使用BinaryWriter附加数据?

也许在Stackoverflow中提出了类似的问题,但我似乎无法找到解决问题的方法.

我只想打开一个可写的二进制流,并能够使用相同的流将数据附加到该文件.显然,如果您打开一个文件进行写入,它将删除它包含的所有数据并启动一个新文件.另外,如果你打开一个文件只是为了阅读,你不能写,但只能阅读.人们确实建议在线使用两个独立的流 - 一个用于阅读,另一个用于写作.我认为在这种情况下不会起作用.

看看我的示例代码,我想做类似的事情:

fs:BinaryWriter;

fs := new BinaryWriter(File.Create('c:\test.dat'));

fs.seek(0,SeekOrigin.End);

fs.Write('test string');

fs.Close;
Run Code Online (Sandbox Code Playgroud)

.net append delphi-prism binaryreader binarywriter

1
推荐指数
1
解决办法
3983
查看次数

读写c#

我想在c#中读取文件(图像)和另一个文件视频,并在单个txt文件中保存(写入)两个文件的所有内容(一个接一个).现在我想再次检索第一个图像文件内容和第二个文件内容分开.是否可以读取视频和图像文件以保存在单个文件中.

c# file binaryreader binarywriter

1
推荐指数
1
解决办法
920
查看次数

使用readbinary时导致流不可读

我试图通过套接字发送一个值.所以我在我的项目客户端和服务器中有两个部分.

客户端使用以下代码向服务器发送值:

  NetworkStream networkStream = socketForServer.GetStream();
            System.IO.BinaryWriter binaryWriter =
               new System.IO.BinaryWriter(networkStream);

            //------
            int messageSource = 0;
            int messageDesitination = 0;
            int interlockingId = 0;
            int trackId = 0;
            int trainId = 2;
            int direction = 0;
            int messageType = 0;
            int informationType = 0;
            int dateTime = 0;

foreach (Sensor LeftSensorList in LeftSensor)
                {

                    binaryWriter.Write(messageSource);
                    binaryWriter.Write(messageDesitination);
                    binaryWriter.Write(interlockingId);
                    binaryWriter.Write(trackId);
                    binaryWriter.Write(trainId);
                    binaryWriter.Write(direction);
                    binaryWriter.Write(messageType);
                    binaryWriter.Write(informationType);
                    binaryWriter.Write(dateTime);

                    binaryWriter.Flush();
                    binaryWriter.Close();
                    Thread.Sleep(4000);

                }
Run Code Online (Sandbox Code Playgroud)

在服务器部分我应该读取二进制值:

static void Listeners()
        {

            Socket socketForClient = tcpListener.AcceptSocket();
            if (socketForClient.Connected)
            {

                NetworkStream …
Run Code Online (Sandbox Code Playgroud)

c# sockets binaryreader binarywriter

1
推荐指数
1
解决办法
2442
查看次数

使用BinaryReader/BinaryWriter构建聊天

您好我正在尝试使用BinaryReader/BinaryWriter建立聊天,我陷入了死胡同,我无法弄清楚如何让我的服务器将消息发送给所有连接的客户端..

我已经尝试将所有客户端添加到列表中并在列表上运行foreach循环,以将消息发送到每个连接的客户端,但没有进行锻炼.

服务器:

using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace server {
    internal class Program {
        public static int counter = 0;
        //List<Client> clientList = new List <Client>();

        private static readonly IPAddress sr_ipAddress = IPAddress.Parse("127.0.0.1");
        public TcpListener Listener = new TcpListener(sr_ipAddress, 8888);
        public static void Main(string[] args) {
            Program server = new Program();
            server.Start();
            Console.ReadKey();
        }
        public void Start() {
            Listener.Start();
            Console.WriteLine("Server started");
            StartAccept();
        }
        private void StartAccept() {
            Listener.BeginAcceptTcpClient(HandleAsyncConnection, Listener);
        }
        public void HandleAsyncConnection(IAsyncResult res) …
Run Code Online (Sandbox Code Playgroud)

c# tcpclient binaryreader binarywriter server-communication

1
推荐指数
1
解决办法
1254
查看次数

BinaryReader或Writer.Close()没有正确关闭C#

我有一个表单应用程序执行模拟并不断读取/写入二进制文件.如果让它通过,一切正常.但是,如果表单已关闭/模拟已中止,则文件流未正确关闭 - 文件将被锁定.有没有办法确保所有流关闭?我尝试了以下 - 但它没有效果......非常感谢,T

        public BinaryWriter BinWrite;
        public BinaryReader BinRead;

        public BinaryWriter EnvBinWrite;
        public BinaryReader EnvBinRead;       

public void theForm_FormClosing(object sender, FormClosingEventArgs e)
        {

            //Close all binary file reader/writers -- crashes if it cannot overwrite files
            foreach (Building B in AllBldgs)
            {
                try
                {
                    EnvBinRead.Close();
                }
                catch
                { continue; }
                try
                {
                    EnvBinWrite.Close();
                }
                catch
                { continue; }
                try
                {
                    BinRead.Close();
                }
                catch
                { continue; }

                try
                {
                    BinWrite.Close();
                }
                catch
                { continue; }
            }
        }
Run Code Online (Sandbox Code Playgroud)

c# filestream binaryreader binarywriter

-1
推荐指数
1
解决办法
1408
查看次数