Ste*_*ess 3 java sockets io inputstream
我知道如何按字节读取文件但无法找到如何以字节块读取它的示例.我有一个字节数组,我想读取512字节的文件,并通过套接字发送它们.
我试过通过读取文件的总字节数,然后减去512字节,直到我得到一个小于512字节的块并发信号通知EOF和传输结束.
我正在尝试实现TFTP,其中数据以512字节的块发送.
无论如何会感谢一个例子.
您可以使用read()输入流中的相应方法,例如FileInputStream支持read(byte[])读取一块字节.
类似于:BufferedInputStream如果您想保证512字节块(构造函数采用块大小参数),您可能希望将输入流包装在a中.
byte[] buffer = new byte[512];
FileInputStream in = new FileInputStream("some_file");
int rc = in.read(buffer);
while(rc != -1)
{
// rc should contain the number of bytes read in this operation.
// do stuff...
// next read
rc = in.read(buffer);
}
Run Code Online (Sandbox Code Playgroud)
你...一次读取512个字节.
char[] myBuffer = new char[512];
int bytesRead = 0;
BufferedReader in = new BufferedReader(new FileReader("foo.txt"));
while ((bytesRead = in.read(myBuffer,0,512)) != -1)
{
...
}
Run Code Online (Sandbox Code Playgroud)