このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
MDF添付ファイルの操作
この例では、MDF ファイルに添付ファイルを追加する方法、MDF ファイルから添付ファイルを削除する方法、および MDF ファイルに埋め込まれた添付ファイルをディスクに保存する方法を示します。この例で使用されている MDF ファイル VehicleData.mf4
には現在、ReadMe.txt
という名前の添付ファイルが 1 つ埋め込まれています。
バージョン 4.0 以降の MDF ファイルには、複数の添付ファイルを含めることができます。添付ファイルは、MDF ファイルに物理的に埋め込むことも、ファイル パスと名前によって外部参照することもできます。違いは、埋め込み添付ファイルは MDF ファイルのサイズを増加させますが、外部添付ファイルは増加させないことです。この例ではデモンストレーションのために .txt
ファイルを使用していますが、MDF ファイルに他の種類のファイルを添付することもできます。
添付ファイルに関連するファイルメタデータを調べる
添付ファイルに関連するファイル メタデータを調べるには、MDF ファイル名を指定して mdfInfo
を呼び出し、返されたオブジェクトの Attachment
プロパティを照会します。MDF ファイルには、現在、ReadMe.txt
という名前の添付ファイルが 1 つ埋め込まれています。
info = mdfInfo("VehicleData.mf4");
info.Attachment
ans=1×7 table
Name Comment Type MIMEType Size EmbeddedSize MD5CheckSum
____________ _______ ________ _________________ ____ ____________ __________________________________
"ReadMe.txt" "" Embedded "application/txt" 7 7 "9166BA27E54335BA1043A5FF023E8F4E"
MDF ファイルに埋め込み添付ファイルを追加する
現在の作業ディレクトリに HelloWorld.txt
という名前のテキスト ファイルを作成します。
fileID = fopen("HelloWorld.txt", "w"); fprintf(fileID, "Hello, World!\n"); fclose(fileID);
type
関数を使用してファイルの内容を表示します。
type("HelloWorld.txt")
Hello, World!
HelloWorld.txt
を MDF ファイル VehicleData.mf4
の添付ファイルとして追加しますが、これには MDF ファイルを変更する権限が必要です。まず、MDF ファイルへの書き込みアクセス権があるかどうかを確認します。そうでない場合は、MDF ファイルを書き込み可能にします。
[~, values] = fileattrib("VehicleData.mf4"); if ~values.UserWrite fileattrib("VehicleData.mf4", "+w") end
オプション引数 Embedded
を true
に設定して関数 mdfAddAttachment
を使用します。このオプションは、添付ファイルが MDF ファイルに物理的に埋め込まれるかどうかを決定します。既定値は false
です。
mdfAddAttachment("VehicleData.mf4", "HelloWorld.txt", Embedded=true)
埋め込まれた添付ファイルが正常に追加されたことを確認するには、添付ファイルに関連するファイル メタデータを調べます。2 番目の添付ファイルは埋め込み添付ファイルであるため、Size
は EmbeddedSize
と等しいことに注意してください。
info = mdfInfo("VehicleData.mf4");
info.Attachment
ans=2×7 table
Name Comment Type MIMEType Size EmbeddedSize MD5CheckSum
________________ _______ ________ _________________ ____ ____________ __________________________________
"ReadMe.txt" "" Embedded "application/txt" 7 7 "9166BA27E54335BA1043A5FF023E8F4E"
"HelloWorld.txt" "" Embedded "application/txt" 14 14 "BEA8252FF4E80F41719EA13CDF007273"
MDFファイルに外部添付ファイルを追加する
myFolder
という名前のサブディレクトリを作成し、このサブディレクトリ内に HelloWorld10.txt
という名前のテキスト ファイルを作成します。
mkdir myFolder fileID = fopen(fullfile("myFolder", "HelloWorld10.txt"), "w"); for ii = 1:10 fprintf(fileID, "Hello, World! %d\n", ii); end fclose(fileID);
type
関数を使用してファイルの内容を表示します。
type(fullfile("myFolder", "HelloWorld10.txt"))
Hello, World! 1 Hello, World! 2 Hello, World! 3 Hello, World! 4 Hello, World! 5 Hello, World! 6 Hello, World! 7 Hello, World! 8 Hello, World! 9 Hello, World! 10
関数 mdfAddAttachment
を使用して、.txt
ファイルへの相対パスで HelloWorld10.txt
を MDF ファイル VehicleData.mf4
の添付ファイルとして追加します。オプション引数 Embedded
が指定されていないため、.txt
ファイルが外部リンク添付ファイルとして追加されます。添付ファイルに関する情報を追加するには、オプションの引数 Comment
を指定します。
mdfAddAttachment("VehicleData.mf4", fullfile("myFolder", "HelloWorld10.txt"), Comment="Repeat hello world for 10 times")
外部添付ファイルが正常に追加されたことを確認するには、添付ファイルに関連するファイル メタデータを調べます。3 番目の添付ファイルの場合、Size
はゼロ以外ですが、EmbeddedSize
は外部添付ファイルであるためゼロであることに注意してください。
info = mdfInfo("VehicleData.mf4");
info.Attachment
ans=3×7 table
Name Comment Type MIMEType Size EmbeddedSize MD5CheckSum
___________________________ _________________________________ ________ _________________ ____ ____________ __________________________________
"ReadMe.txt" "" Embedded "application/txt" 7 7 "9166BA27E54335BA1043A5FF023E8F4E"
"HelloWorld.txt" "" Embedded "application/txt" 14 14 "BEA8252FF4E80F41719EA13CDF007273"
"myFolder/HelloWorld10.txt" "Repeat hello world for 10 times" External "application/txt" 161 0 "99B4FDE65B883C034D1997A6DFD27700"
MDF ファイルから添付ファイルを削除する
mdfRemoveAttachment
関数を使用して、追加されたばかりの HelloWorld.txt
という名前の埋め込み添付ファイルを削除します。
mdfRemoveAttachment("VehicleData.mf4", "HelloWorld.txt")
埋め込まれた添付ファイルが正常に削除されたことを確認するには、添付ファイルに関連するファイル メタデータを調べます。
info = mdfInfo("VehicleData.mf4");
info.Attachment
ans=2×7 table
Name Comment Type MIMEType Size EmbeddedSize MD5CheckSum
___________________________ _________________________________ ________ _________________ ____ ____________ __________________________________
"ReadMe.txt" "" Embedded "application/txt" 7 7 "9166BA27E54335BA1043A5FF023E8F4E"
"myFolder/HelloWorld10.txt" "Repeat hello world for 10 times" External "application/txt" 161 0 "99B4FDE65B883C034D1997A6DFD27700"
同様に、先ほど追加された HelloWorld10.txt
という名前の外部添付ファイルを削除します。削除する添付ファイルを正確に識別するには、指定した添付ファイル名が info.Attachment
に表示される添付ファイル名と完全に一致する必要があります。
attachmentName = info.Attachment.Name(2)
attachmentName = "myFolder/HelloWorld10.txt"
mdfRemoveAttachment("VehicleData.mf4", attachmentName)
埋め込まれた添付ファイルが正常に削除されたことを確認するには、添付ファイルに関連するファイル メタデータを調べます。
info = mdfInfo("VehicleData.mf4");
info.Attachment
ans=1×7 table
Name Comment Type MIMEType Size EmbeddedSize MD5CheckSum
____________ _______ ________ _________________ ____ ____________ __________________________________
"ReadMe.txt" "" Embedded "application/txt" 7 7 "9166BA27E54335BA1043A5FF023E8F4E"
MDF ファイルから埋め込み添付ファイルを保存する
関数 mdfSaveAttachment
を使用して、残っている 1 つの埋め込み添付ファイル (ReadMe.txt
という名前) を現在の MATLAB ® 作業フォルダーに保存します。
mdfSaveAttachment("VehicleData.mf4", Attachment="ReadMe.txt")