Alternative to textread on Linux

1 次查看(过去 30 天)
I'm currently using textread to load a text file for later display in an edit field on my GUI. However, I'm in Linux, and discovered memory isn't freed up - so, my program got really slow, and I had to close MATLAB because I keep loading more and more text files. Is there a way to display my text file without loading the whole thing into memory?

采纳的回答

Walter Roberson
Walter Roberson 2012-12-3
You should be using textscan() instead of textread()
There is no way in MATLAB to display the content of a file in a uicontrol() editbox without loading the file in to memory.
If you set() the String property of the uicontrol to be the cell array of strings, then due to MATLAB's copy-on-write behavior, this will not duplicate the storage of what was read in, only share it (until one of the two locations changes.)
  2 个评论
Paul Huter
Paul Huter 2012-12-3
I will change to textscan(), but is there a way to clear that memory? The way my code is set up, when a filename is selected, the file is displayed, but if I go from file A to file B and back to file A, file A is loaded twice. I am going to try to come up with a way to only load once, but suggestions are appreciated.
Walter Roberson
Walter Roberson 2012-12-3
The memory is cleared automatically when the variable you read it in to is deleted -and- the String property of the editbox is set to something else.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by