Workaround for fake file in memory?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ray Lee
el 7 de Sept. de 2015
Respondida: Walter Roberson
el 7 de Sept. de 2015
I have a mex function which reads data from a file and process it
result = mex_process_data(string_path_to_file);
The data is downloaded from website directly using
data = urlread2(url);
Now I save the data to a file and pass the filepath to the mex function. The IO is time-wasting. Is there a way to pass the data directly to the mex function without saving it to a temporary file (using Java class?)?
0 comentarios
Respuesta aceptada
Walter Roberson
el 7 de Sept. de 2015
urlread2 is from the File Exchange . It outputs a string, not a file. If you are writing to a file then that is in your own code.
If the mex requires a filename instead of a string, then change the mex. Or write to an solid state drive, or to a ramdisk.
0 comentarios
Más respuestas (2)
Image Analyst
el 7 de Sept. de 2015
I don't think so. If the mex file was written to accept a text string that represents a filename, then you're stuck with that. If you want it to accept a numerical array then you'd have to rewrite the mex code to do that.
0 comentarios
Guillaume
el 7 de Sept. de 2015
There's nothing built into matlab for this and yes, it would be nice if matlab io supported streams instead of just concrete files.
The only way I can think to work around this (short of rewriting your mex so it does the url fetching itself) is to implement a ram drive.
0 comentarios
Ver también
Categorías
Más información sobre External Language Interfaces en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!