问题标签 [fileinputstream]

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 投票
3 回答
5708 浏览

java - 如何通过 RMI 传递 InputStream

考虑这两个函数:

Function A将 inputStream 作为参数。

Function B加载文件内容以将其传递给Function Aas InputStream

如何在不直接读取文件的情况下将文件Function B作为Function AInputStream 传递?

我做了这样的事情:

这产生了以下异常:

编辑:

loadFile()正在将 InputStream 作为 RMI 响应传递。

0 投票
1 回答
341 浏览

java - Using JarEntry to write sound files is not working as intended

Alright so in my program I have various resources kept within the Jar of the program, when the program runs it has specific files passed to this function that are written to the HDD of the users computer. Everything gets written, but only the images come out 100% correct. The sound files are not so lucky.

Basically, I CANNOT get the sounds to write correctly, their file sizes are correct but they only contain a split second of audio instead of their full length audio. Am I missing something here? I seem to have done everything right, but if that was true I wouldn't be posting here.

I tried my best at googling this problem but it has failed me.

Any guess as to why this doesn't work would be AMAZING!! :)

0 投票
1 回答
220 浏览

java - 从文本文件中剥离数据

我将首先发布文本文件中的日期,这只是其中的 4 行,实际文件有几百行长。

2011 年 9 月 9 日星期五
-STV 101--------05:00 - 23:59 SSB 4185 报告于 2011 年 9 月 8 日 2:37 打印

0-AH 104--------07:00 - 23:00 AH GYM 报告打印于 2011 年 9 月 8 日 2:37

-BG 105--------07:00 - 23:00 SH GREAT HALL 报告于 2011 年 9 月 8 日 2:37 打印

我想用这个文本文件做的是忽略上面有日期的第一行,然后忽略下一行的“-”,但读入“STV 101”、“5:00”和“23:59” " 将它们保存到变量中,然后忽略该行上的所有其他字符,之后的每一行都以此类推。

这是我目前完全阅读这些行的方式。然后,一旦用户将路径放入 scheduleTxt JTextfield 中,我就调用此函数。它可以很好地读取和打印每一行。

更新:事实证明,我还需要从顶行中删除 Friday 并将其放入变量中,谢谢!牛肉。

0 投票
3 回答
1425 浏览

java - FileInputStream 已经使用缓冲区了吗?

当我使用 FileInputStream 读取对象(比如几个字节)时,底层操作是否涉及:

1)读取整个磁盘,以便如果我随后执行另一个读取操作,它不需要真正的磁盘读取,因为文件的那部分已经在上次读取操作中获取?

或者

2) 因为FileInputStream 没有做任何缓冲,而应该使用bufferedInputStream 来实现(1) 的效果,所以发生了新的磁盘访问?

我认为由于 FileInputStream 使用 read 系统调用并且它只从硬盘读取一组页面,因此必须进行一些缓冲。

0 投票
2 回答
465 浏览

java - 使用正则表达式从文本文件中删除数据

我将首先发布文本文件中的数据是什么样的,这只是其中的 4 行,实际文件有几百行长。

每个小文本部分都在文本文件中的一行上,由许多空格隔开,由于某种原因,这些空格不会出现在问题格式中,我将使用第一部分文本作为我试图获取的数据的示例。

这是我想从文件中获取的数据Friday, 5:00, 11:59, STH 1102, HOLD DO NOT BOOK, 然后忽略该行的读取,文本部分第 2 行的所有信息也被忽略,但在文本文件本身中它是全部在一条线上。然后使用这些数据,我想将每一块保存到一个变量中。或者相反,数据的一部分HOLD DO NOT BOOK有时会像这样格式化:DO NOT BOOK, HOLD - DO NOT BOOK,如果正则表达式找到任何这些,它可以忽略该行之前和之后的所有数据。

另外,如果您可以的话,我想将其中包含 PM 的时间加到 12 中,以便它们采用 24 小时格式。

这是我目前完全阅读这些行的方式。然后,一旦用户将路径放入 scheduleTxt JTextfield 中,我就调用此函数。它可以很好地读取和打印每一行。

我知道这个问题,希望你明白我在问什么,如果有不清楚的地方问,谢谢!牛肉。

更新:我只是想也许这有助于解释我对这些数据的意图,首先我会将任何 PM 时间转换为 24 小时格式,然后根据第 4 条数据(STH 1102)我调用一个插入函数,它将使用ODBC 驱动程序,以便将行中的其他数据插入数据库

0 投票
4 回答
3702 浏览

java - 从 Java FileInputStream 读取字节时,如何区分 -1 和 0xff?

所以,我不得不参加一个工作面试的测试,我被要求编写一个执行简单 XOR 加密的迷你应用程序,并遇到了这个问题。我使用 FileInputReader 来拉入每个字节,使用密钥执行 XOR 操作,然后将结果推回 FileOutputStream。这就是让我思考的原因。

FileInputStream 返回一个 int,一个 32 位有符号类型。当只接收一个字节时,您可以将其转换为“字节”类型。如果 FileInputStream 达到 EOF,它也会返回 -1。但是,二进制补码中的 -1 == 0xff,那么如果读取的字节真的是 0xff,而不是 EOF 怎么办?

0xff 是一个在数学上永远不会返回的字节,除非在特殊情况下(例如 EOF)?还是根据您正在阅读的数据,您可能需要考虑这种情况?

0 投票
1 回答
4703 浏览

java - 在文件中找不到换行符(java)

我正在尝试获取文件的最后一行,但我的输出显示它从未找到它。我还尝试寻找所有行开头的“[”,但除非跳转是完美的,否则程序不会跳过“[”。我尝试寻找“\r\n”、System.getProperty("line.separator")、\r 和 \n。很可能这是一个愚蠢的错误,但如果我有它但我找不到它,那么其他人也可能会遇到它。

来自代码的想法来自 快速读取文本文件的最后一行?

我使用的文件是这个 http://www.4shared.com/file/i4rXwEXz/file.html

感谢您的帮助,如果您看到我的代码可以改进的任何其他地方,请告诉我

0 投票
3 回答
12392 浏览

java - 将文本文件中的数据解析为Java中的多个数组

首先让我说我对 Java 还很陌生,如果我犯了明显的错误,请原谅我......

我有一个文本文件,我必须从中读取数据并将数据拆分为单独的数组。

文本文件包含这种格式的数据(如果必要的话,如果它是唯一的方法,可以稍微修改它以具有标识符标签)

noOfStudents
studentNAME 学生 ID numberOfCourses
courseName courseNumber creditHours Grade
courseName courseNumber creditHours Grade
courseName courseNumber creditHours Grade

.
studentName studentID numberOfCourses
courseName courseNumber creditHours Grade
courseName courseNumber creditHours Grade
courseName courseNumber creditHours Grade

.

第一行表示将列出并需要移动到数组中的“学生”总数。一个数组将包含学生信息,因此
studentName、studentID、numberOfCourses将包含
在一个数组中,而
courseName、courseNumber、creditHours、grade
将包含在第二个数组中。

我的问题源于如何解析这些数据。
我目前正在阅读第一行,转换为 int 并使用它来确定我的学生数组的大小。之后,我不知道如何将数据移动到数组中,并让我的程序知道将哪些行移动到哪个数组中。

需要注意的一点是,每个学生学习的课程数量是可变的,所以我不能简单地将 1 行读入一个数组,然后将 3 行读入下一个数组,等等。

我需要使用标识符还是遗漏了一些明显的东西?我已经研究这个问题一个星期了,此时我只是感到沮丧。

任何帮助是极大的赞赏!谢谢你

编辑:这是我目前正在处理的代码部分。

我希望这可以帮助有人引导我朝着正确的方向前进。

我想我从这一点开始遇到的主要问题是找出如何循环,将学生信息读取到学生数组,然后将课程信息读取到适当的课程数组位置,然后重新开始学生,直到所有学生都读完为止。

0 投票
2 回答
688 浏览

java - 如何恢复文本文件?

我想从文本文件中恢复以下数据。问题是我只能恢复一个字符串/行,我无法恢复其余数据。

这是代码:

0 投票
2 回答
2306 浏览

java - 在读取时修改 InputStream 读取的字节,而不是稍后

我需要进行一种简单的加密,以使普通最终用户无法轻松访问某些文件。

FileInputStream 读取的文件是 html 文件、pngs、jpegs 和不同的简单文本文件(javascript、xml、...)

我目前做的是这样的:

内存占用很大,因为我的内存中有完整的字节数组(我们谈论内存中大于 2mb 的位图)。

我想我可以简单地扩展 FileInputStream 类并在读取文件内容时进行字节操作。这将减少内存使用量,因为我可以使用Bitmap.decodeStream(inputstream)而不是创建一个字节数组来从中获取位图......但在这里我完全被卡住了。read()和方法是本readBytes(...)机的,所以我不能覆盖它们。

请在我的黑暗中传播光明...