FileStream でファイルを作成しているときに、同時に FileAttributes を適用することは可能ですか? FileAttributes.Temporary ファイル属性でストリーム書き込み用のファイルを作成したいと考えています。
質問する
2603 次
4 に答える
0
FileOptions.DeleteOnClose
パラメーターの 1 つとして使用できます。操作を終了してストリームを破棄すると、ファイルは自動的に削除されます。
于 2011-09-28T07:16:09.067 に答える
-1
なんで一気にやる必要があるの?
- ファイルを作成するだけです ( File.Createを使用するか、一時ファイルの場合はGetTempFileNameを使用します)。
- 新しく作成されたファイルに属性を設定します
- 適切な方法でファイルを開きます
于 2011-09-28T07:32:59.600 に答える
-1
File.SetAttributes
はい、確かにメソッドを使用して FileAttributes を適用することもできます
于 2011-09-28T07:09:11.670 に答える
-1
Win32 CreateFile メソッドを使用すると、これを行うことができます
uint readAccess = 0x00000001;
uint writeAccess = 0x00000002;
uint readShare = 0x00000001;
uint createAlways = 2;
uint tempAttribute = 0x100;
uint deleteOnClose = 0x04000000;
new FileStream(new SafeFileHandle(NativeMethods.CreateFile("filename",
readAccess | writeAccess,
readShare,
IntPtr.Zero,
createAlways,
tempAttribute | deleteOnClose,
IntPtr.Zero),
true),
FileAccess.ReadWrite, 4096, true);
private static class NativeMethods
{
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
internal static extern IntPtr CreateFile(string name, uint accessMode, uint shareMode, IntPtr security, uint createMode, uint flags, IntPtr template);
}
于 2017-11-13T13:11:06.287 に答える