问题标签 [inputstreamreader]
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.
java - java InputStreamReader / BufferedReader“读取”行为
一个相关的问题是:为 InputStreamReader 定义此行为的规范在哪里?,但我不确定它是否能回答我的问题......请注意,我只是在尝试使用这种语言。我有这个代码:
使用 ubuntu linux,我期望输出是这样的:
但相反,它是这样的:
现在我不确定 Windows 中的行为是什么,可能是不同的,但这仍然让我有点困惑。阅读该read
方法的文档,我发现如果到达流的末尾,它只会返回 -1。我有点理解这对于读取文件是如何工作的,但是在这种情况下,控制台怎么样?为什么必须等到输入 Ctrl + D ?有什么方法可以在不输入 Ctrl + D 的情况下到达流的末尾?有没有办法实现我的期望?
提前致谢
java - DataInputStream vs InputStreamReader,试图从概念上理解两者
正如我目前初步理解的那样:
DataInputStream
是一个InputStream
子类,因此它读取和写入字节。如果您正在读取字节并且您知道它们都将是int
s 或其他一些原始数据类型,那么您可以使用 将这些byte
s 直接读入原始数据类型DataInputStream
。
- 问题:在读取内容之前,您是否需要知道正在读取的内容的类型(int、string 等)?整个文件是否需要由一种原始类型组成?
我遇到的问题是:为什么不使用InputStreamReader
环绕InputStream
的字节数据?使用这种方法,您仍在读取字节,然后将它们转换为表示字符的整数。哪些整数代表哪些字符取决于指定的字符集,例如“UTF-8”。
- 问题:在什么情况下
InputStreamReader
,a 可以工作的地方不能DataInputStream
工作?
我的猜测答案:如果速度真的很重要,并且您可以做到,那么将InputStream
's 字节数据直接转换为原始 viaDataInputStream
将是要走的路吗?这避免了Reader
必须将字节数据“转换”为int
第一个;并且它不依赖于提供字符集来解释返回的整数表示哪个字符。我想这就是人们所说的DataInputStream
允许机器独立读取基础数据的意思。
- 简化:
DataInputStream
可以将字节直接转换为原语。
激发整个事情的问题:我正在阅读以下教程代码:
...我不明白为什么讲师选择使用new DataInputStream(fis)
它,因为它看起来没有任何直接从字节转换为原语的能力被利用?
- 我错过了什么吗?
感谢您的见解。
java - Java 资源的 FileReader 等价物
是否有一个实用程序类(例如,在 commons-io 或 Guava 中,如果不在核心 Java 中)相当于FileReader
, 但用于资源?我的意思是,是的,我可以写
但是用更少的样板噪音来做这件事会很好。
java - 读取 InputStream 时忽略编码
我在向 IIS 服务器发出 HTTP 请求的 Java 应用程序中遇到了一些编码问题。
遍历URLConnection
对象的标题,我可以看到以下(相关)标题:
该URLConnection.getContentEncoding()
方法返回 utf-8 作为文档编码。
这就是我的 HTTP 请求和流读取的方式:
但是,服务器“ÃÃÃção”发送的以下字符串被客户端接收为“�����o”。
我究竟做错了什么 ?
java - JAVA:使用 InputStreamReader 打开和读取文件
我正在尝试使用 InputStreamReader 读取二进制文件(pdf、doc、zip)。我使用 FileInputStream 实现了这一点,并将文件的内容保存到字节数组中。但是我被要求使用 InputStreamReader 来做到这一点。因此,当我尝试打开和阅读 pdf 文件时,例如使用
然后将此内容保存到另一个pdf文件使用
一切正常(没有异常或错误),但是当我尝试打开新文件时,它要么说它已损坏,要么编码错误。
有什么建议吗??
ps1 我特别需要这个使用 InputStreamReader
ps2 在尝试读/写 .txt 文件时工作正常
android - InputstreamReader 没有从 URL 读取所有字节的数据:android?
当我尝试从服务器下载文件时,它会丢失一些字节!并显示为损坏的文件。在我尝试从 URL 下载的代码下方。运行时也不例外。我在服务中使用它。这些是我尝试的示例结果:
文件 1:实际大小 = 73.2 kb 下载大小 = 68.7 kb
文件 2:实际大小 = 147 kb 下载大小 = 137 kb
文件 3:实际大小 = 125 kb 下载大小 = 116.8 kb
请帮助我找到我的代码所需的更正。谢谢,
java - exec的输出未写入java中的文件
在我的 Java 代码中,我调用了一个外部程序,我使用以下内容:
调用外部程序 dia 的输出应写入名为 file1 的文件中,直到今天它都正常运行。我想问题是当 dia 的输出很大时,我没有得到任何输出。BufferReader 有大小限制吗?
java - Java InputStreamReader 读取不存在的数据
我正在测试一些使用 InputStreamReader 从互联网上的文本文件中读取数据的代码。它第一次工作并返回了正确的结果;但是,我尝试更改文件的内容,甚至完全从服务器上删除文件,返回的结果始终保持不变。每次检查时,我都会重新启动程序。
然后,我尝试通过更改 URL 对象(指向不存在的对象)将 InputStreamReader 指向不同的位置,最后,它没有按预期找到文件。
有谁知道这可能是什么原因造成的?
这是代码:
当然,我也尝试过通过浏览器加载 URL,它的行为符合预期(当我更改托管文件的内容时,显示的数据会发生变化)。
java - BufferedReader / AsynchTask- java.lang.NullPointerException: lock == null
我正在开发一个 Android 应用程序,但我遇到了一个错误。我正在尝试与服务器通信并从该服务器获取 JSON 对象。我创建了一个名为 ServerCommunication 的类,它扩展了 AsynchTask。我的服务器通信类有标准的 doInBackground() 方法。在此方法中,我尝试从网页解析 JSON 对象,但该方法引发异常。
我应该提到我现在在我的机器上本地运行我的服务器。因此,我通过我的 ServerCommunication 的 url 是:http://127.0.0.1:9000/getVehicle/2942
。此网页包含 JSON 对象的纯文本。将在底部包含 JSON 对象。
例外是:java.lang.NullPointerException: lock == null
. 此异常在第二个 try-catch 中引发。
导致此异常的行是:
这是行有错误,因为 myInputStream is
为空。出于某种原因,这条线抛出了一个异常,这就是为什么is
为空。我将在这篇文章的末尾包含我的日志输出
这是我的 ServerCommunication 类:
这是我要解析的 JSON 对象:
日志输出
有什么建议么?
java - 需要帮助理解这段 Java 代码
现在首先,我不会问这是我对输入和输出一无所知。我看过很多关于 PrintWriter、FileInputStream、InputStreamReader 和 IOException 的教程。我理解这些类的概念。但我就是不明白这段代码。我试着运行它。首先,有一个输出说“两行:”。我在第一行输入“hello”,在第二行输入“I am Bob”。当我按下回车键时,程序只会输出我写的内容。这是控制台上出现的示例:
此后程序继续运行。有人可以向我解释一下代码吗?我在此代码中看到了一些新内容,例如System.getProperty ("line.separator")。这种方法的目的是什么?while 循环和 for 循环有什么作用?为什么fout.flush()被注释掉了?如果我将它包含在代码中会发生什么?我感到很困惑。这是代码: