Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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 文件中的mkdir(0)和文件utils中的forceMkdir()都无法创建名称包含unicode字符的文件夹。知道吗?_Java_Matlab_File Io_Unicode - Fatal编程技术网

Java 文件中的mkdir(0)和文件utils中的forceMkdir()都无法创建名称包含unicode字符的文件夹。知道吗?

Java 文件中的mkdir(0)和文件utils中的forceMkdir()都无法创建名称包含unicode字符的文件夹。知道吗?,java,matlab,file-io,unicode,Java,Matlab,File Io,Unicode,我想在Matlabcode中使用Java创建一个名为unicode字符的文件夹。我尝试了Java.io.File的mkdir()和forceMKdir()org.apache.commons.io.FileUtils的。但是,创建文件夹时,unicode字符被替换为两个字符,这是它的UTF-8表示形式。有什么想法吗?下面是一个示例代码 feature('DefaultCharacterSet', 'UTF-8') u0_filename = 'é' curre_output_dir = jav

我想在
Matlab
code中使用
Java
创建一个名为
unicode
字符的文件夹。我尝试了
Java.io.File
mkdir()
forceMKdir()
org.apache.commons.io.FileUtils的
。但是,创建文件夹时,unicode字符被替换为两个字符,这是它的UTF-8表示形式。有什么想法吗?下面是一个示例代码

feature('DefaultCharacterSet', 'UTF-8')
u0_filename = 'é'
curre_output_dir =  java.lang.String(root_meddir).concat(java.lang.String(relative_output_meddir).concat(u0_filename).concat(java.lang.String(prior.slash_symbol)))
test_dir1 = java.io.File(curre_output_dir)
使用
mkdir()

使用
mkdirs()

使用
forceMkdir()

但是,所有人都创建了一个名为“é的文件夹,这是不正确的。文件系统是Ubuntu

谢谢

编辑:

按照fge的建议,要使用
文件.createDirectory()
,我遵循以下步骤:

  • 将变量MATLAB_JAVA设置为JAVA 7 JRE的路径:

  • 启动Matlab,检查Java版本:

  • 但是,这些方法似乎无法正常工作:


  • 所以我在回答5月9日的编辑

    代码在该点不起作用的原因是,正如错误消息所说,提供了错误的签名。当方法需要Path对象时,您正在向该方法传递字符串

    现在,本教程演示了创建路径对象的三种不同方法。我将进行总结,因为我们讨厌链接

  • Path Path=FileSystems.getDefault().getPath(“test”);
    似乎可以做您想要做的事情
  • Path Path=Path.get(“test”);
    在您的情况下也可以使用,因为它是项目#1的快捷方式
  • File f=new File(“test”);Path=f.toPath();

  • 如果您的底层JVM是Java 7,请改用
    文件.createDirectory()
    ;另外,请尝试查看JVM中
    文件.encoding
    设置为什么。谢谢。您是否可以提供一个关于如何使用
    文件.createDirectory()
    的示例代码?我不懂Matlab,所以我只能提供一个示例Java代码;)谢谢。您是否可以用Matlab的Java语法重写其中一种方法?
    test_dir1.mkdir()
    
    test_dir1.mkdirs()
    
    javaMethod('forceMkdir', 'org.apache.commons.io.FileUtils', test_dir1)
    
    $ export MATLAB_JAVA=/usr/lib/jvm/java-7/jre/
    
    >> version -java
    Java 1.7.0_55-b13 with Java HotSpot(TM) 64-Bit Server VM mixed mode
    
    >> java.nio.file.Files.createDirectory('test') 
    No method 'createDirectory' with matching signature found for class 'java.nio.file.Files'.