2

FileStream でファイルを作成しているときに、同時に FileAttributes を適用することは可能ですか? FileAttributes.Temporary ファイル属性でストリーム書き込み用のファイルを作成したいと考えています。

4

4 に答える 4

0

FileOptions.DeleteOnCloseパラメーターの 1 つとして使用できます。操作を終了してストリームを破棄すると、ファイルは自動的に削除されます。

于 2011-09-28T07:16:09.067 に答える
-1

なんで一気にやる必要があるの?

  1. ファイルを作成するだけです ( File.Createを使用するか、一時ファイルの場合はGetTempFileNameを使用します)。
  2. 新しく作成されたファイルに属性を設定します
  3. 適切な方法でファイルを開きます
于 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);
}

詳細については、CreateFileの MSDN ドキュメントを参照してください。

于 2017-11-13T13:11:06.287 に答える