java - 如何在java中生成特定大小的二进制blob对象?

标签 java encoding arrays blob bytebuffer

我正在尝试构建一个使用任何垃圾/随机内容编码的不透明二进制 Blob 64 位,还尝试以这种方式制作它,以便我可以指定要生成的数据 blob 的大小(以 Kb 为单位) .

其目的是对支持 blob 数据类型(例如 C*)的数据库应用程序的写入吞吐量进行基准测试。 blob 不需要是唯一的,因此可以构造一次并重复使用它,以避免由于 GC 和对象创建而导致客户端延迟。<​​/p>

我天真地尝试使用ByteBuffer.allocateDirect(bSize),认为我可以使用它从内存中拾取的任何垃圾,但我怀疑这种方法是否有效。

关于如何实现这一目标有什么建议吗?

最佳答案

如果您使用的是 Linux,这个命令行小技巧可以快速创建虚拟文件:

 dd if=/dev/zero of=FileName bs=1024 count=1000

计数 * bs = 文件大小

然后:

String sql = "INSERT INTO table (blob) VALUES (?)";
PreparedStatement stmt = conn.prepareStatement(sql);
File blob = new File("path_to_FileName");
FileInputStream   fis = new FileInputStream(blob);
stmt.setBinaryStream(1, fis, (int) blob.length());
stmt.execute();

关于java - 如何在java中生成特定大小的二进制blob对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25001677/

相关文章:

python - 使用嵌套 for 循环在每个坐标处评估函数 - python

java - 扫描仪和 .hasNext() 问题

java - 如何在Spring boot 2.0中实现CrudRepository的自定义方法?

java - 使用 Runtime.getRuntime().exec() 执行 java 文件

encoding - 将字符串转换为 base64

SQL Server,如何将默认排序规则设置为unicode?

javascript - 在javascript中对多维数组进行排序

java - ClassNotFoundException 我的服务器中出现错误

变量的 Python 字符串编码

javascript - 排序数组,但忽略开头的一些特定字符