问题标签 [java-io]
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 - 如何将 URL 站点封装到 Java 对象中?
我有一个 Java/Grails 应用程序,它需要“读取”给定 URL 的内容以将其用作图像,主要是动态调整大小。我的应用程序已经使用基于这篇文章的实现将 url 解析为 HTML 代码:http ://www.roseindia.net/java/example/java/io/SourceViewer.shtml 。
我构建的类返回一个包含 HTML 源代码的 String 对象。现在我想将此字符串写入一个类似于 BufferedImage 的对象中,这样我就可以将捕获的 URL 显示到我的新应用程序中。
任何想法,提前谢谢!
java - 检查输入的数字是否为奇数
`我不确定要插入什么代码,甚至不知道在哪里,但我想检查我输入的数字是奇数。
java - 为什么是字符流?
我了解 Java 字符流包装字节流,以便根据系统默认值或其他特别定义的字符集解释底层字节流。
我的系统默认字符集是 UTF-8。
如果我使用 aFileReader
读取文本文件,一切看起来都很正常,因为默认字符集用于解释来自底层InputStreamReader
. 如果我明确定义InputStreamReader
将 UTF-8 编码的文本文件读取为 UTF-16,那么一切显然看起来很奇怪。使用类似字节流FileInputStream
并将其输出重定向到 System.out,一切看起来都很好。
所以,我的问题是;
为什么使用字符流有用?
为什么我要使用字符流而不是直接使用字节流?
什么时候定义一个特定的字符集有用?
java - 读取 URL 的前 5 行,然后以相反的顺序打印
我想编写一个简单的程序,它读取 URL 的前五行,然后以相反的顺序打印出来,所以它是第 5 行、第 4 行、第 3 行、第 2 行、第 1 行。
这是我到目前为止所得到的:
做我想做的事情的最优雅的方式是什么?
java - 在 Java 中测试空 InputStream
你们如何测试一个空的InputStream?我知道 InputStream 设计用于处理远程资源,因此在实际读取它之前你无法知道它是否存在。我不能使用 read() 因为当前位置会改变并且使用 mark() 并为此重置似乎是不合适的。
问题是,有时无法测试 read() 是否返回 -1,因为如果您有一个流并且某些第三方库使用它,则需要在将其发送到那里之前测试它是否为空。
通过空 InputStreams 我的意思是这些new ByteArrayInputStream(new byte[0])
java - 比特流读取顺序
我在手册中阅读过:
对于面向比特的传输,字节流格式的比特顺序被指定为从第一个字节的 MSB 开始,到第一个字节的 LSB,然后是第二个字节的 MSB,以此类推。
在我的应用程序中,我必须处理位。(例如,我有十进制数 5,二进制格式看起来像 00000101)所以,这是否意味着(根据手册)我读取的位顺序是
或者它意味着这样的读取位顺序:
谢谢
java - 在 Java 中读取文件(使用 IDE)
我试图编写一段 Java 代码来读取文件中的每一行并将其添加到 Arraylist。这是我的代码:
names.txt
与我的代码位于同一包文件夹中。我使用的 IDE 是 Eclipse。但是,当我运行代码时,我得到了一个FileNotFoundException
. 该类TextFileIn
来自http://www.javaranch.com/doc/com/javaranch/common/TextFileIn.html
我怎样才能找到文件?
java - 如何在java中获取文件内容?
要获取 txt 文件的内容,我通常使用扫描仪并遍历每一行以获取内容:
java api是否提供了一种通过一行代码获取内容的方法,例如:
java - 我可以关闭/重新打开 InputStream 以模拟不支持标记的输入流的标记/重置吗?
我试图java.io.InputStream
从流的顶部开始多次阅读。
显然,对于返回的流,true
我markSupported()
可以尝试使用mark(availableBytes)
,然后reset()
从顶部再次读取流。
大多数流不支持标记,而那些支持(例如java.io.BufferedInputStream
)将数据复制到临时字节数组中,这在内存消耗等方面并不好。
如果我的方法java.io.InputStream
作为参数接收,我可以关闭它然后以某种方式重新打开它以将相同的原始流重置到顶部,以便我可以再次读取它?
InputStream
除了将原始文件写入内存(牦牛!)或临时文件之外InputStream
,如果我需要再次从顶部读取流,我找不到任何方法来执行此技巧。
android - 读取一个简单的文本文件
我正在尝试在我的示例 Android 应用程序中读取一个简单的文本文件。我正在使用以下编写的代码来读取简单的文本文件。
我的问题是:我应该把这个"test.txt"
文件放在我的项目中的什么地方?我曾尝试将文件放在文件夹下"res/raw"
,"asset"
但我得到了exception "FileNotFound"
上面编写的代码的第一次运行时间。