Reading a .dat file with textread

How do you read .dat file that contains 5 .jpg images in it using textread?
Also, how do you output the filenames?

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 22 Jun. 2012

0 Stimmen

jpg images are binary images, but textread() is for reading text files.
Does the .dat file perhaps contain the names of the images rather than the images themselves?
There is no standard format for .dat files: it is a suffix used by any program to hold any data. You need to know the internal structure of that particular .dat file in order to work with it. It might be pure text (most .dat files are not).

9 Kommentare

Jonathan
Jonathan am 22 Jun. 2012
Yes, it is 5 strings of the names of the images. Not the images themselves.
Jonathan
Jonathan am 22 Jun. 2012
Would using fscanf be better? I want it to print out the names of the images.
Jonathan
Jonathan am 22 Jun. 2012
What about fgets?
Also, I would like to write the "printout" of the names of the images to a .txt file. How do I do that?
Walter Roberson
Walter Roberson am 22 Jun. 2012
A lot depends on the file format.
You could probably use fileread(), together with regexp() with the 'split' option.
Jonathan
Jonathan am 23 Jun. 2012
Thanks so much for telling me about fileread! It's a life saver. Anyways, I now have my 5 strings stored in a variable called filename. How to a write the contents of filename to a new txt file?
Jonathan
Jonathan am 23 Jun. 2012
I mean not write to a txt file, I mean create a new .txt file with filename in it
Jonathan
Jonathan am 23 Jun. 2012
Ok, so I figured out how to make a txt file by using fprintf, but it doesn't seperate the strings that are in filename with line breaks. How do I make it do that?
Walter Roberson
Walter Roberson am 23 Jun. 2012
I'm not sure what you mean, but anyhow...
fid = fopen('TheFileName.txt','wt');
fprintf(fid, '%s\n', filename{:});
fclose(fid)
I am assuming here that filename is a cell array of strings. If it is a plain string then you may have to break it apart if you want one filename per line. Or perhaps just
fid = fopen('TheFileName.txt','wt');
fprintf(fid, '%s\n', filename);
fclose(fid)
Jonathan
Jonathan am 5 Jul. 2012
Thanks a lot! I just needed to add the t next to the w in 'wt' in fid = fopen('TheFileName.txt','wt');. It works perfectly now.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by