2015-04-20 2 views
1

Мой код до сих пор (на основе this entry), но он не работает:Как я могу загрузить/открыть/прочитать файл matlab * .mat в java?

MatFileReader matfilereader = new MatFileReader("C:\\data\\Freebase\\initEmbed.mat"); 
System.out.println(matfilereader.getData().get(0) + "name: "+matfilereader.getMLArray("words").getSize()); 
System.out.println("new "+matfilereader.getMLArray("words")); 
MLArray words = matfilereader.getMLArray("words"); 
System.out.println(words.contentToString().substring(0, 100)); 
MLChar j = (MLChar) matfilereader.getMLArray("words"); 

Мой выход:

[1x91898 cell array]name: 91898 
new [1x91898 cell array] 
words = 
    [1x9 char array] [1x3 char array] [1x1 char array] [1x1 char array] [1x2 char array] 

Exception in thread "main" java.lang.ClassCastException: com.jmatio.types.MLCell cannot be cast to com.jmatio.types.MLChar 
    at NTN.Run_NTN.main(Run_NTN.java:91) 

Как загрузить слова этого MatLab файла в массив Java?

ответ

1

Я ничего не знаю о matLab, но исключение кажется довольно ясным. Вы набрасываете MLCell на a MLChar. «getMLArray» должен быть возвращен MLCell. Я бросил на MLCell первого

MLCell mlCell = (MLCell) matfilereader.getMLArray("words"); 

А затем использовать любые методы доступны по этому типу, чтобы получить MLChar.

 Смежные вопросы

  • Нет связанных вопросов^_^