问题标签 [randomaccessfile]

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 投票
0 回答
1053 浏览

java - Java:如何使用 RandomAccessFile 将字符串作为字节写入 .txt

首先,我阅读了很多关于这个问题的信息。但是,它们都不是我的解决方案。我正在尝试从控制台读取字符串并将其作为字节写入 .txt。

我试过 FileWriter/BurfferWriter。但是,例如,我从控制台输入“abcd”,然后我将其设为字节 []。在for循环中,我将它写在txt文件中。这些似乎没问题。但是,当我查看txt文件时,我看到它写得很正常,“abcd”。我期待它被写成http://s24.postimg.org/uid0tt0g5/byte.png 我不希望任何人在他/她打开我的 .txt 文件时阅读它。

然后,我尝试了 RandomAccessFile。在这个时候,我编写了这样的代码:

但是此时,它将 abcd 写入http://s14.postimg.org/j1k26qqnx/byte2.png如您所见,abcd 在字节之间。而且正常情况下,abcd只有4个字节,当我写在.txt中时,txt文件变成了8个字节。

这就是问题。我不想在 txt 文件中看到任何字符。

解决办法是什么?谢谢

0 投票
2 回答
1456 浏览

java - 如何从 RandomAccessFile 写入和删除对象?

我目前正在做一个学校项目,我需要将我的数据保存到RandomAccessFile. 我认为这不是迄今为止最有效的方法,但我必须这样做。注意:我必须使用 RandomAccessFile 类。

我了解如何将 main 方法中的简单stringsint创建方法保存到文件中,但是我无法将这些知识转移到我自己的程序中。

我有 4 个不同的课程,即Database, Group, Student, Rehearsal。该类Database允许您将组添加到组的链接列表中。然后,您可以为每个小组添加学生(见下文)以及排练日期(这是一个剧院管理计划)。这些被分别添加到linkedlist<Student>linkedlist<Rehearsal>

这是我addStudentGroup课堂上将学生添加到已创建组的链表中的方法。

如何让方法在执行时自动将学生对象写入文件?

这是我的removeStudent方法:

几乎相同的问题,当方法执行时,如何从文件中删除特定对象。如果你也能帮我解决这个问题,那就太好了:)

0 投票
2 回答
4596 浏览

java - 使用 Bytebuffer 写出与简单写出的返回不同

我正在尝试将字节数据写入文件并对其进行优化,我想减少写入文件的次数。

目前,我正在使用:

这工作正常,但由于有很多out.write电话,所以速度很慢。

因此,我尝试使用 aByteBuffer来代替:

两种方法生成的文件大小不同。该ByteBuffer文件几乎比正常的输出文件大一 mb。这可以解释为什么差异会说它们不一样。

我尝试使用 DataOutputStream,结果是一样的。使用写入的文件ByteBuffer仍然比不使用ByteBuffer.

0 投票
0 回答
347 浏览

java - 当我尝试使用帐户数据显示我的 JTable 时出现 UTFDataFormatException

嗨,大家好。我得到一个 UTFDataFormatException 并且无法弄清楚是什么原因。我似乎能够毫无问题地将数据写入 txt 文件,并且可以看到文件本身中出现了数据。

0 投票
1 回答
3013 浏览

c# - 在 C# 中读取随机访问文件

有谁知道是否可以在 C# 中读取随机访问文件?

我正在尝试在 C# 中复制以下函数(来自旧的 VB6 应用程序)-

编辑 -

我现在尝试使用下面建议的 VisualBasic DLL,并在 FileGetObject 行收到以下错误 -

“Microsoft.VisualBasic.FileSystem.FileGetObject(int, ref object, long) 的最佳重载方法匹配有一些无效参数”

我正在使用的代码是 -

我尝试将“记录”设置为结构和类并得到相同的错误。

编辑 22/08/13 - 我从来没有深入了解这一点,最终将随机访问数据导出到 VB6 中以逗号分隔的文本文件,然后在 SSIS 中使用这些文件。

0 投票
1 回答
313 浏览

java - readUTF 工作一次,然后抛出 EOFException

我正在写RandomAccessFile这样的信:(在 LinkedList 的子类中)

Person.getBlob()返回一个恒定长度的字符串,仅包含基本的字母数字字符、空格和 CR(仅单字节字符)。在这个地方,文件正好包含 100 条记录。(用十六进制编辑器确认)

然后我尝试读取该文件:

我总是以正确读取一条记录和一个EOFException. 这段代码有什么问题?

0 投票
1 回答
401 浏览

java - 困惑: RandomAccessFile.readFully(byte[] b)

假设 byte[] b = 1024

如果将 readFully() 方法放在类似于 nextLine() 方法的循环中,它会自行递增吗?还是会继续一遍又一遍地读取相同的 1024 字节?

0 投票
0 回答
151 浏览

java - 读取一个大的 bin 文件

我想读取一个包含 M 连续双数的大型 bin 文件,它们以预定义的顺序重复:

我不允许一次读取文件,因为文件可能太大,无法容纳主内存。因此,我使用类RandomAccessFile并将MappedByteBuffer文件划分为切片(通道)。鉴于我知道每个连续的数字数量(N)但我不知道连续的总数(M),我想知道以下情况的最佳实践是什么:

1) 保存数据的最佳方法是什么?我使用 aList<List<Double>>因为我认为 Map 不提供灵活性(它会太慢)来解决这种情况?我对吗?

2)确定到达文件末尾并且算法应该停止的方法是什么?

这是我写的代码:

我认为方法中需要一个 while 循环parseDataSets来检查文件的结尾是否更早到达(如果最后一个切片包含少于 20 个连续)。

更新:每个连续的第一个数字很长,而不是双倍,因此parseDataSets方法中的 if-else 检查。

0 投票
1 回答
874 浏览

java - 使用 RandomAccessFile#write() 写入文件

假设我有一个程序可以生成一个名为 data.bin 的二进制文件,然后我使用 data.write(item) 向它写入一堆随机信息,例如:

现在,一旦该文件完全写入,如果我再次执行 data.write(item) 是否会覆盖该文件中的所有信息?还是继续添加到它的末尾?

0 投票
2 回答
1035 浏览

java - 从 RandomAccessFile 一次读取一个整数数组

我正在尝试从 RandomAccessFile 读取整数数组。然而,RandomAccessFile 仅支持读取字节数组。到目前为止我的代码:

Eclipse 告诉我:“不能从 int[] 转换为 byte[]”。在 CI 中可以轻松地将 int* 转换为 char* 但我不知道这是如何在 Java 中完成的。我怎么能在 Java 中做到这一点?