Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Linux上,有没有办法从JNI中的Path对象获取非编码文件名?_Java_Linux_Character Encoding_Java Native Interface_Filenames - Fatal编程技术网

Java 在Linux上,有没有办法从JNI中的Path对象获取非编码文件名?

Java 在Linux上,有没有办法从JNI中的Path对象获取非编码文件名?,java,linux,character-encoding,java-native-interface,filenames,Java,Linux,Character Encoding,Java Native Interface,Filenames,我有一个在Linux上运行的Java应用程序,它将文件名和路径传递给JNI方法 这个应用程序从Path对象获取一个字符串,并将其传递给JNI方法 问题是,Path对象在内部存储一个表示文件名的原始字节数组。Path对象返回一个字符串对象,该字符串对象不能始终反转回原始字节数组。这种情况最有可能发生,因为没有任何规定Linux文件名必须是UTF-8编码的 当我尝试使用JNI中的路径字符串来打开一个文件时,对于某些包含奇数字符的文件名来说,事情会失败得可怕 是否有某种方法可以找到表示文件名的原始字节

我有一个在Linux上运行的Java应用程序,它将文件名和路径传递给JNI方法

这个应用程序从Path对象获取一个字符串,并将其传递给JNI方法

问题是,Path对象在内部存储一个表示文件名的原始字节数组。Path对象返回一个字符串对象,该字符串对象不能始终反转回原始字节数组。这种情况最有可能发生,因为没有任何规定Linux文件名必须是UTF-8编码的

当我尝试使用JNI中的路径字符串来打开一个文件时,对于某些包含奇数字符的文件名来说,事情会失败得可怕

是否有某种方法可以找到表示文件名的原始字节数组