当前位置: 首页 > 面试题库 >

Java中的简单流读/写问题

孔逸春
2023-03-14
问题内容

我正在尝试通过URLConnection上传文件,但是我需要将其读取/写入为二进制文件,而无需进行任何编码更改。

所以我试图从读取byte[]数组FileInputStream,但是现在我有一个问题。PrintWriter我用于输出到服务器的对象不允许我执行操作writer.write(content)content类型为byte[])。我怎样才能解决这个问题?还是有另一种快速将二进制数据从a复制FileInputStream到a的方法PrintWriter

谢谢


问题答案:

Writer对象(包括PrintWriter)专门用于输出字符数据。听起来您想要这里OutputStream而不是Writer这里。

PrintWriter是哪里人 如果它是通过将某种形式OutputStream的“
OutputStreamWriter和”换成“然后再用”包裹而成的PrintWriter,那么您应该使用原始的原始write(byte[] b)方法OutputStream,而不是尝试使用Writer

如果要混合使用字符输出和字节输出,则可能需要使用String.getBytes()。看看这个例子:

OutputStream o = this.conn.getOutputStream(); // Based on your comment
String s = "Hello, world!";
byte[] b = ...;      // These are the raw bytes that you want to write
o.write(s.getBytes("UTF-8"));
o.write(b);

(当然,只有在读取输出的系统知道您正在写入字符和原始字节的混合并且知道如何处理发送的混合数据时,这才起作用。)



 类似资料:
  • 本文向大家介绍arduino 简单的读写,包括了arduino 简单的读写的使用技巧和注意事项,需要的朋友参考一下 示例 此示例侦听通过串行连接输入的输入,然后将其重复发送回相同的连接。            

  • 以前已经回答过一个类似的问题,但是这个解决方案对我的用例不起作用。 我们运行2个Kafka集群,每个集群在2个单独的DC中。我们的总入站流量在这两个DC之间分配。 我将在每个DC中运行单独的Kafka流应用程序来转换数据,并希望在单个DC中写入Kafka主题。我怎样才能做到呢? 最终我们将在Druid中索引Kafka主题数据。不可能运行单独的Druid集群,因为我们正在尝试聚合数据。 我读过一篇K

  • 我是Java的新手,我正在尝试学习线程和套接字。所以决定按照官方的java教程制作简单的客户机-服务器应用程序。我的想法很简单--服务器等待连接,如果出现,它就用新的套接字、输入和输出生成新线程。客户端->建立连接;带有套接字、输入、输出和stdIn的新线程(读取行,然后发送到服务器)。但是我的代码出了点问题(不知道为什么)。连接已经建立,没有例外。谁能解释一下为什么不工作,如何修复它?您还可以对

  • 我正在寻找一个简单的JavaScript节流阀。我知道像lodash和下划线这样的库都有它,但只有一个函数包含这些库中的任何一个都是多余的。 我还检查了jQuery是否有类似的函数-找不到。 我发现了一个工作油门,下面是代码: 这样做的问题是:在油门时间完成后,它会再次触发该功能。所以让我们假设我做了一个油门,每10秒在键盘上按下一次——如果我按下2次键盘,当10秒完成时,它仍然会按下第二个键盘。

  • 我有以下两个脚本,它们几乎完全遵循流示例。代码的来源如下:https://github.com/apache/ignite/blob/master/examples/src/main/java/org/apache/ignite/examples/streaming/StreamTransformerExample.java 然而,尽管客户端很好地连接到服务器,但在运行流时,我在服务器端遇到了可怕

  • 问题内容: 我有一个简单的问题。我正在尝试将文件上传到Java中的ftp服务器。 我的计算机上有一个文件,我想复制该文件并上传。我尝试将文件的每个字节手动写入输出流,但这不适用于复杂文件,例如zip文件或pdf文件。 只是为了踢球,这是我尝试做的事情: 例如,当我使用pdf进行此操作,然后尝试打开使用该程序运行的pdf时,它表示尝试打开pdf时发生错误。我猜是因为我要在文件中写入“ \ n”?如何