how to fread not a file, but a vector that equals fread a file in binary form?
4 views (last 30 days)
Show older comments
I have a vector
aVec = [45,234,123,.........]
% that is equivalent to:
% fread(anyfile, 'r')
I want to read that vector as text file and get lines:
fid = fopen( filepath, 'rt')
fgetline(fid)
Is there a way that skips the file writing to hardisk and directely read the vector as file?
Maybe
java.io.StringBufferInputStream
or other ways?
0 Comments
Accepted Answer
Guillaume
on 1 Sep 2019
There is not fread(fileid, 'r'), there is a fopen(filename, 'r') but that tells us nothing about how you read the file initially.
Assuming that you've read the file as fread(fileid), then what you've got is the sequence of bytes (inefficiently stored as double) and converting that back to characters may just be simply:
chardata = char(aVec);
if you want to split that into lines:
lines = strsplit(char(aVec), {'\n', '\r'})
The above assumes that the file text encoding is the same as that used by matlab. If not, you'll have to use native2unicode with the proper encoding first.
0 Comments
More Answers (0)
See Also
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!