小编Joh*_*ohn的帖子

如何在jni中将jbyteArray转换为本机char*?

我想在jni中将jbyteArray转换为本机c字符串(char*)?不幸的是我找不到任何关于如何做到这一点的文档.我正在使用c代码中的以下原型调用java函数.

public static byte[] processFile(byte[] p_fileContent)
Run Code Online (Sandbox Code Playgroud)

在c代码中,我正在调用此函数,该函数返回一个字节数组.该字节数组的内容是一个java字符串.但我需要将其转换为ac字符串.

jbyteArray arr = (jbyteArray) env->CallObjectMethod(clsH, midMain, jb);
printf("%s\n", (char*) arr);
Run Code Online (Sandbox Code Playgroud)

java java-native-interface

13
推荐指数
1
解决办法
3万
查看次数

Java压缩/解压缩大文件(> 1gb)

我在android中创建了一个应用程序,允许用户压缩和解压缩文件,我使用了包java.util.zip.一切正常.速度,文件与目录一起完全压缩和解压缩.唯一的问题是应用程序无法压缩/解压缩大文件(大于1GB).

我相信问题是我的大小buffer.我见过的其他代码,缓冲区的值是1024或2048或8192,但我的缓冲区值取决于所选文件的大小(只是为了使其灵活).但是一旦用户选择了一个大文件(大小> 8位),就会出现错误.我在网上搜索,也在这个网站搜索,但我找不到答案.我的问题与此类似:

使用Java压缩ZIP中的大文件

感谢您对未来的帮助!:)

编辑:

感谢您的评论和解答.它真的帮了很多忙.我认为BUFFER在java中压缩/解压缩意味着文件的大小所以在我的程序中,我使缓冲区大小灵活(缓冲区大小=文件大小).有人请解释一下缓冲区是如何工作的,这样我就能理解为什么BUFFER有一个固定的值是可以的.同样让我弄清楚为什么其他人会告诉他们如果缓冲区大小为8k或者更好.非常感谢!:)

java compression android file

2
推荐指数
1
解决办法
3173
查看次数

Excel VLOOKUP函数源代码

无论如何我可以在excel(VBA)中找到函数VLOOKUP的源代码,以便我可以修改它吗?谷歌没有给我任何帮助.谢谢!

excel vba excel-vba excel-formula vlookup

1
推荐指数
1
解决办法
3924
查看次数

在嵌套在1个片段android中的2个子片段之间传递数据

我一直在研究android中的嵌套片段.我有一个包含片段A的活动,片段A包含片段A1和片段A2.到目前为止,我可以使用getParentFragment()(也使用片段A2)成功地将数据从片段A1传递到其父片段(片段A).但是如何将数据从片段A1传递到片段A2?必须采用什么方法以及如何使用?

方法1:来自片段A1的数据 - >将数据传递给父片段(片段A) - >将数据传递给片段A2(在片段之间传递数据的常用方法)

要么

方法2:片段A1 - >通过setTargetFragment()/ getTargetFragment()将数据直接传递给片段A2

我一直在尝试使用set/getTargetFragment()很长一段时间,但仍然无法使其工作.需要帮助的人.谢谢!

android nested android-fragments

0
推荐指数
1
解决办法
1185
查看次数