- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做一项家庭作业,我必须连接到 http 服务器并使用套接字编程下载 html 文件和图像文件。
我做得很好,能够正确下载和编写 html 和图像文件。但是当我编辑代码以满足作业的要求时(网页必须在本地工作,因此编辑代码来重写html,图像文件没有被正确写入。
我不记得编辑过下载图像方法的代码。当我以为已经完成时,我刚刚检查了我的文件,并且图像显示了无效图像。
字节(当我在 Notepad++ 中并排打开正确的图像和下载图像时),字节是相同的。问题在于,在下载的图像上,字节被写入为一长行,而在正确的图像中,字节是逐行写入的。
尝试了多种方法,均无效。事实上,我发送给 friend 的旧代码(在上面的编辑之前)似乎也不起作用。有什么想法吗?
DataInputStream imgIn=new DataInputStream(socket.getInputStream());
DataOutputStream imgOut = new DataOutputStream(new FileOutputStream(host+path));
byte[] byteArr=new byte[1024];
int bytesRead=0,totalBytesRead=0;
while (totalBytesRead<imageSize ){
bytesRead=imgIn.read(byteArr,0,1024);
totalBytesRead+=bytesRead;
imgOut.write(byteArr,0,bytesRead);
imgOut.flush();
}
/* while ((bytesRead = imgIn.read(byteArr)) > 0)
{
imgOut.write(byteArr, 0, bytesRead);
imgOut.flush();
}*/
imgIn.close();
imgOut.close();
}
感谢您的帮助!
最佳答案
我认为如果这是要求:在本地创建网页。
您不应该只下载文件(html、jpegs 等),您还应该复制目录结构,并且您不需要编写单独的代码即可在本地工作。
希望有帮助:-)
关于Java DataInputStream 到图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12557944/
我正在制作一个简单的 TCP/IP 套接字应用 这样做有什么不同: DataInputStream in = new DataInputStream(clientSocket.getInputStre
1. 概述 在这个例子中,我们将用DataInputStream类来读取一个文件。数据输入流让应用程序以独立于机器的方式从底层输入流读取原始的Java数据类型。一个应用程序使用数据输出流来写数据,这些
我对 Java 编程和堆栈溢出都很陌生,今天早上我在遵循简单的代码时遇到了很大的麻烦。它有 3 个选项,将新用户添加到二进制文件,列出其中的每个用户并搜索特定用户以显示与其相关的所有其他数据(姓氏和出
我正在实现一个简单的客户端/服务器读取器,并使用 DataInputStream 将所有内容读取为字节,然后稍后进行解析。 这是我的阅读代码: String line; String requestS
我的 DataInputStream 有问题,它没有完全读取文件,经常(每约 33000 个字符)跳过 2-3 个字符。我正在尝试将文件(8 mb)解析为 json,并且由于字符串中跳过的字符,我无法
我在 Java 中使用 DataInputStream 和 DataOutputStream 时遇到了一个问题,如果没有一些非常愚蠢的措施,我就无法解决这个问题,并且想知道是否有人知道更好的方法(我非
我想从二进制文件构建 HashMap 。该二进制文件具有以下结构:第一个整数表示我必须从流中读取的整数数量,以便构建 HashMap ,后跟键/值对。 因此,对于具有三个值的 HashMap ,我总共
我正在尝试编写一个外部合并排序,但如果我已经关闭了第一个数据输入流,我似乎无法为文件创建第二个数据输入流。例如: public class test { private static Data
正如标题所说,如果可用字节多于缓冲区大小,并且在第一次读取时丢失了一些字节,DataInputStream.read() 是否可以覆盖以前读取的字节? 对等点之间交换固定大小的数据包,并且套接字上可能
我正在学习用 Java 进行读写,并且遇到了一个简单的练习。该程序从 2 个 txt 文件中读取,每个文件都包含行中的数字。它将每行数字相乘的结果写入输出文件。例如。 file 1 row 1 : 1
我正在做一项家庭作业,我必须连接到 http 服务器并使用套接字编程下载 html 文件和图像文件。 我做得很好,能够正确下载和编写 html 和图像文件。但是当我编辑代码以满足作业的要求时(网页必须
这个问题真让我头疼。非常简单的场景。使用 DataInputStream 通过 TCP 发送和接收文件。 这是写法 private boolean send(File file) { try
我有一个套接字客户端,每当我尝试从套接字读取输入流时,它都会挂起。 DataInputStream dis = new DataInputStream(socket.getInputStream())
我目前正在制作一个消息传递应用程序,稍后我还将为其添加加密。我有一台打开套接字并等待客户端连接的服务器。客户端连接后,它会为该客户端创建一个新线程。然后等待消息等。 我遇到的问题是,当我尝试将公钥指数
如果我在 DataInputStream 上调用 read(),它会占用 CPU 周期等待数据,还是会产生当前线程并被中断信号唤醒,表明数据已到达? 我的动机是确定流读取器是否需要在其自己的线程中。占
我的Java项目(我是客户端)包括通过TCP套接字连接发送请求和读取响应。通过套接字,我创建一个输出和输入流,分别用于发送和接收数据。一切正常,除了消息的结尾,即我通过 DataOutputStrea
我正在为学校作业创建一个文件服务器应用程序。我目前拥有的是一个简单的 Client 类,它通过 TCP 发送图像,还有一个 Server 类接收图像并将其写入文件。 这是我的客户端代码 import
我有一个要加载的文件格式,其中包含 OpenGL 对象的原始数据。 一切都很好,但数据是小端编码的。 是否有一个 java 类可以完成 DataInputStream 的确切工作但使用小端,还是我必须
我必须创建一个应用程序来检索网络上的 xml 文件,并将其存储在 Blackberry 手机的 SD 卡上。 xml 文件由 cron 作业更新。因此,如果数据已添加到此 xml 文件,我希望应用程序
我用java编写了以下程序来使用DataInput\Output Stream复制文件。 import java.io.*; public class FileCopier { public
我是一名优秀的程序员,十分优秀!