我想在MatLab中使用java.nio.file.Files.move()
方法。
虽然我只需要缺省行为,但MatLab需要所有3个输入,否则会抛出No method ... with matching signature found.
错误。传递[]
(我认为它会转换为null
,但不是documented)会得到java.lang.NullPointerException
错误。
如何在MatLab中创建CopyOption
对象?
示例:
>> version -java
ans =
'Java 1.8.0_202-b08 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
zipFilePath=java.nio.file.Paths.get('test.zip',javaArray('java.lang.String', 0));
zipFileSystem=java.nio.file.FileSystems.newFileSystem(zipFilePath,[]);
path1=zipFileSystem.getPath('/test.txt',javaArray('java.lang.String', 0));
path2=zipFileSystem.getPath('/test_changed.txt',javaArray('java.lang.String', 0));
% java.nio.file.Files.move(path1,path2,???); % what should ??? be..
java.nio.file.Files.move(path1,path2,java.nio.file.StandardCopyOption.COPY_ATTRIBUTES)
No method 'java.nio.file.Files.move' with matching signature found.
zipFileSystem.close();
(我还附上了我对.move()
的特殊用法,以防有其他重要的事情,但我不知道。)
1条答案
按热度按时间umuewwlo1#
Files.move的第三个参数是一个
java.nio.file.CopyOption
数组,因此您需要设置一个CopyOption
数组,该数组使用一个条目表示实现类java.nio.file.StandardCopyOption.COPY_ATTRIBUTES
的值: