问题标签 [dataoutputstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
934 浏览

java - DataOutputStream 卡住

我制作了一个简单的服务器应用程序,用于将图像发送到连接的客户端。我在主线程中有一个循环,它接受传入的连接,并从相应的套接字创建一个 Client 对象。我有一个活跃客户的列表。每次有新图片可用时,我都会遍历客户端,并向他们发送新数据。如果每个人都保持联系,一切都会顺利进行。但是一旦其中一个客户端断开连接,DataOutputStream 的 write 方法就会永远卡住。我认为它必须抛出异常或其他东西,但事实并非如此。我想我想念一些简单的东西,但我不知道是什么。这是我的客户类的代码:

0 投票
1 回答
1677 浏览

java - Java中的空指针异常

我在这段代码中有一个奇怪的问题。当我使用第一个if条件执行代码时,一切正常且符合预期。但是,当我评论该if语句并使用另一个if条件(已经评论过的条件)时,它给出了NPE

getUserIP() 和 getPhoneNumber() 都是私有字符串的普通 getter。这两个值都是由普通设置者设置的。为什么会这样?


我弄清楚了导致异常的原因以及 tempUser.getPhoneNumber() 在某些时候返回 null 的原因。

0 投票
1 回答
4019 浏览

java - WriteUTF 和 ReadUTF,我怎样才能写一个字符串并在另一边得到一个简短的异常?

基本上我正在两侧之间进行套接字连接。一个 Java 服务器和一个 Android 客户端。我正在使用 Gson library 将对象转换为 String Json ,并通过 Android 客户端的 WriteUTF 方法发送它们。但是当我尝试在 Java 服务器中获得响应时,我得到一个“java.io.DataInputStream.readUnsignedShort(Unknown Source) 处的 java.io.EOFException”。如果我没有使用这种方法(readUnsignedShort)甚至没有发送任何 Short 怎么办?代码来了。

从 Android 客户端编写:

并从 Java 服务器读取:

日志也可能有帮助:

Server3.java:71 是服务器代码中的这一行:while((line = in.readUTF()) != null) {

0 投票
2 回答
1523 浏览

java - DataInputStream readLong() 得到错误的值

readLong()嗨,DataInputStream.当我通过它输入一个值时,我遇到了一些问题,DataOutputStream.writeLong()但是当它被发送时,它比它应该的要大得多,我将代码全部放在一个可运行的语句中,以便程序不冻结

这是客户

服务器端

编辑

如果有人可以帮助我编写代码,非常感谢我是套接字新手,我对事情有点困惑,我想要的只是使用 dataoutputstream 的 writeLong 方法发送文件的长度并发送writeUTF 的名称,但我不知道发生了什么以及如何解决它

0 投票
0 回答
336 浏览

java - 使用 DataOutputStream 将二进制数据写入文件时出现空行

我正在开发一个 iOS 和 Android 应用程序,我必须从服务器以二进制数据的形式下载 PDF 文件并将它们写入磁盘。当我尝试在 Android 设备上使用 Adob​​e Reader 打开文件时,在 iOS 上运行时出现格式无效错误。

Android上的相关代码如下:

当我在我的 Mac 上将文件转换为 .txt 文件并在文本编辑器中打开它们时,内容似乎完全相同,只是 Android 应用程序下载的那个有很多空白行。我想知道这是否可能是问题以及如何克服它?

我还应该指出,我检查了两个平台上数组的长度、写入文件的每个项目的值等,它是完全相同的。

我附上了两个屏幕截图,第一个是在 Android 上下载的文件,第二个是从 iOS 上下载的。

任何帮助将不胜感激。谢谢 :)

安卓截图 https://dl.dropboxusercontent.com/u/67408017/Screen%20Shot%202014-02-20%20at%2011.18.41%20AM.png

iOS 截图 https://dl.dropboxusercontent.com/u/67408017/Screen%20Shot%202014-02-20%20at%2011.18.49%20AM.png

0 投票
6 回答
240 浏览

java - FileOutputStream 和 DataOutput Stream 的问题

问题是当我使用FileOutputStream它写一个字符时是可读的。但是当我将它与DataOutputStream写入的数据链接时变得不可读。

这是为什么 ?由于两者都FileOutputStreamDataInputStream字节为单位写入文件。处理将如何进行?

代码:

在这种情况下,将显示以下输出:

输出

需要了解为什么?

0 投票
0 回答
797 浏览

java - 通过 DataOutputStream 上传文件不起作用

我正在编写一个 Android 应用程序。这个应用程序应该通过 POST 将一些图片上传到我的服务器。如果我使用小于 1MB 的图片,它就可以工作。但是,如果我使用更大的图像,日志会告诉我图像已上传,但图像不在服务器上。post_max_size 为 4MB

我的方法来自 stackoverflow 解决方案,应该可以工作,但它没有,我不知道为什么。

0 投票
2 回答
315 浏览

android - 如何正确设置进度值?

我在 google 和 stackoverflow 上搜索了很多次,但我找不到我真正需要的东西。我编写了一个使用 asynctask 方法将文件上传到服务器的代码。我所做的是:在 asyntask 方法中,我使用post方法将我的文件上传到我的webservice。在doInBackground方法中:

String serverResponseMessage = conn.getResponseMessage();更长的时间

我的uploadprogress设置了4次,然后我等待更多时间将我的文件真正上传到服务器。为什么如果代码退出我需要。while如何设置progressbar值更敏感,当progressbar值设置为100时,我想要文件上传真的完成。我设置了 onpreexecute 和 onpostexecute 方法。但我认为他们没有必要在这里写。我使用notificationbar进度,所以我必须显示百分比。

0 投票
1 回答
11425 浏览

java - DataOutputStream:“编码字符串太长”限制的目的

方法中有一个奇怪的限制java.io.DataOutputStream.writeUTF(String str),它将 UTF-8 编码字符串的大小限制为65535字节:

这很奇怪,因为:

  1. 此方法的 JavaDoc 中没有关于此限制的任何信息
  2. static int writeUTF(String str, DataOutput out) 通过复制和修改该类的内部方法可以轻松解决此限制
  3. 相反的方法没有这样的限制java.io.DataInputStream.readUTF()

根据上面所说,我无法理解writeUTF方法中这种限制的目的。我错过或误解了什么?

0 投票
4 回答
666 浏览

java - 用 Java 创建一个简单的数据输出文件

我正在尝试编写一个简单的数据输出文件。当我执行代码时,我得到一个“不存在文件”作为输出,并且在目录中没有创建 data.txt 文件。

我错过了什么?奇怪的是,前几天晚上它工作得很好,但是当我今天加载它再次测试它时,发生了这种情况。

这是代码:

数据文件应该是数字 1 到 9 的简单显示。

感谢您的输入。