C# Path.GetTempFileName的代码示例

通过代码示例来学习C# Path.GetTempFileName方法

通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。


Path.GetTempFileName是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的Path.GetTempFileName() 已经帮大家高亮显示了,大家可以重点学习Path.GetTempFileName() 方法的写法,从而快速掌握该方法的应用。

Path.GetTempFileName的代码示例1 - DigitalySignBootstrapperEngine()

    using System.IO;

        /// 
        /// Applies digital signature to a bootstrapper engine with MS SignTool.exe utility.
        /// Note : this method doesn't sign the bootstrapper file but the engine only.
        /// Please use  for signing both (bootstrapper and bootstrapper engine) instead.
        /// See more about Bootstrapper engine signing
        /// 
        /// The Bootstrapper file to sign.
        /// Specify the signing certificate in a file. If this file is a PFX with a password, the password may be supplied
        /// with the password parameter.
        /// The timestamp server's URL. If this option is not present (pass to null), the signed file will not be timestamped.
        /// A warning is generated if timestamping fails.
        /// The password to use when opening the PFX file. Should be null if no password required.
        /// Extra arguments to pass to the SignTool.exe utility.
        /// The optional ';' separated list of directories where SignTool.exe can be located.
        /// If this parameter is not specified WixSharp will try to locate the SignTool in the built-in well-known locations (system PATH)
        /// Type of the certificate store to load it from.
        /// A flag indicating the output level
        /// the hash algorithm to use. SHA1, SHA256, or both. NOTE: MSIs only allow
        /// a single signature. If SHA1 | SHA256 is requested, the MSI will be signed with SHA1 only.
        /// 
        /// Exit code of the SignTool.exe process.
        ///
        /// The following is an example of signing SetupBootstrapper.exe file engine.
        /// 
        /// WixSharp.CommonTasks.Tasks.DigitalySignBootstrapperEngine(
        ///     "SetupBootstrapper.exe",
        ///     "MyCert.pfx",
        ///     "http://timestamp.verisign.com/scripts/timstamp.dll",
        ///     "MyPassword",
        ///      null);
        /// 
        /// 
        static public int DigitalySignBootstrapperEngine(string bootstrapperFileToSign, string pfxFile, string timeURL, string password,
            string optionalArguments = null, string wellKnownLocations = null, StoreType certificateStore = StoreType.file, SignOutputLevel outputLevel = SignOutputLevel.Verbose, HashAlgorithmType hashAlgorithm = HashAlgorithmType.sha1)
        {
            var insigniaPath = IO.Path.Combine(Compiler.WixLocation, "insignia.exe");
            string enginePath = IO.Path.GetTempFileName();

            try
            {
                var tool = new ExternalTool
                {
                    ExePath = insigniaPath,
                    Arguments = "-ib \"{0}\" -o \"{1}\"".FormatWith(bootstrapperFileToSign, enginePath)
                };

                var retval = tool.ConsoleRun();
                if (retval != 0)
                    return retval;

                retval = DigitalySign(enginePath, pfxFile, timeURL, password, optionalArguments, wellKnownLocations, certificateStore, outputLevel, hashAlgorithm);
                if (retval != 0)
                    return retval;

                tool = new ExternalTool
                {
                    ExePath = insigniaPath,
                    Arguments = "-ab \"{1}\" \"{0}\" -o \"{0}\"".FormatWith(bootstrapperFileToSign, enginePath)
                };

                tool.ConsoleRun();
                return retval;
            }
            finally
            {
                IO.File.Delete(enginePath);
            }
        }
    

开发者ID:oleg-shilo,项目名称:wixsharp,代码行数:70,代码来源:CommonTasks.cs

在DigitalySignBootstrapperEngine()方法中,Path的代码示例类中的GetTempFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Path.GetTempFileName的代码示例2 - Fix_Issue_1171()

    
        [Fact]
        [Description("Issue #1171")]
        public void Fix_Issue_1171()
        {
            var tempFile = System.IO.Path.GetTempFileName();
            try
            {
                System.IO.File.WriteAllLines(tempFile, new[]
                {
                    "Windows Registry Editor Version 5.00",
                    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Test]",
                    "\"New Value #1\"=dword:00000001",
                    "\"New Value #2\"=hex(b):02,00,00,00,00,00,00,00",
                });
                var values = WixSharp.RegFileImporter.ImportFrom(tempFile);
            }
            finally
            {
                tempFile.DeleteIfExists();
            }
        }
    

开发者ID:oleg-shilo,项目名称:wixsharp,代码行数:22,代码来源:IssueFixesTest.cs

在Fix_Issue_1171()方法中,Path的代码示例类中的GetTempFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Path.GetTempFileName的代码示例3 - EditInExternalProgram()

    using System.IO;
        private void EditInExternalProgram(bool UseDefaultEditor = true)
        {
            if (!ActiveTexture.CanEdit || !IsFinished)
                return;

            ImageProgramSettings settings = new ImageProgramSettings();
            settings.LoadImage(ActiveTexture);
            if (settings.ShowDialog() == DialogResult.OK)
            {
                UseDefaultEditor = !settings.OpenDefaultProgramSelection;

                string UseExtension = settings.GetSelectedExtension();
                FormatToChange = settings.GetSelectedImageFormat();

                string TemporaryName = Path.GetTempFileName();
                Utils.DeleteIfExists(Path.ChangeExtension(TemporaryName, UseExtension));
                File.Move(TemporaryName, Path.ChangeExtension(TemporaryName, UseExtension));
                TemporaryName = Path.ChangeExtension(TemporaryName, UseExtension);

                switch (UseExtension)
                {
                    case ".dds":
                        ActiveTexture.SaveDDS(TemporaryName, true, false, CurArrayDisplayLevel, CurMipDisplayLevel);
                        break;
                    case ".astc":
                        ActiveTexture.SaveASTC(TemporaryName, true, false, CurArrayDisplayLevel, CurMipDisplayLevel);
                        break;
                    case ".tga":
                        ActiveTexture.SaveTGA(TemporaryName, true, false, CurArrayDisplayLevel, CurMipDisplayLevel);
                        break;
                    default:
                        ActiveTexture.SaveBitMap(TemporaryName, true, false, CurArrayDisplayLevel, CurMipDisplayLevel);
                        break;
                }

                //Start watching for changes
                FileWatcher.EnableRaisingEvents = true;
                FileWatcher.Filter = Path.GetFileName(TemporaryName);

                if (UseDefaultEditor)
                    Process.Start(TemporaryName);
                else
                    ShowOpenWithDialog(TemporaryName);
            }
        }
    

开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:46,代码来源:ImageEditorBase.cs

在EditInExternalProgram()方法中,Path的代码示例类中的GetTempFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Path.GetTempFileName的代码示例4 - MergeAll()

    using System.IO;
        public static void MergeAll(List Files, string output, ProgressLog Log)
        {
            int Check = Log.PushActivity("Gerber MergeAll");
            if (Files.Count > 1)
            {
                MultiMerge(Files[0], Files.Skip(1).ToList(), output, Log);
                Log.PopActivity(Check);
                return;
            }
            if (Files.Count < 2)
            {
                if (Files.Count == 1)
                {
                    Log.AddString("Merging 1 file is copying... doing so...");
                    if (File.Exists(output)) File.Delete(output);
                    File.Copy(Files[0], output);
                }
                else
                {
                    Log.AddString("Need files to do anything??");
                }
                Log.PopActivity(Check);
                return;
            }


            List TempFiles = new List();
            if (true)
            {

                List LeftOverFiles = new List();
                foreach (var a in Files)
                {
                    LeftOverFiles.Add(a);
                }

                while (LeftOverFiles.Count > 1)
                {
                    Log.AddString(String.Format("{0} files left in mergequeue", LeftOverFiles.Count));
                    string File1 = LeftOverFiles[0];
                    string File2 = LeftOverFiles[1];
                    LeftOverFiles.Remove(File1);
                    LeftOverFiles.Remove(File2);
                    string NewFile = Path.GetTempFileName();

                    Merge(File1, File2, NewFile, Log);
                    TempFiles.Add(NewFile);
                    LeftOverFiles.Add(NewFile);
                }

                if (File.Exists(output)) File.Delete(output);
                File.Move(LeftOverFiles[0], output);
            }
            else
            {

                string LastFile = Files[0];
                for (int i = 1; i < Files.Count - 1; i++)
                {
                    string NewFile = Path.GetTempFileName();
                    TempFiles.Add(NewFile);
                    Merge(LastFile, Files[i], NewFile, Log);
                    LastFile = NewFile;
                }
                if (File.Exists(output)) File.Delete(output);
                Merge(LastFile, Files.Last(), output, Log);
            }
            Log.AddString("Removing merge tempfiles");
            foreach (string s in TempFiles)
            {
                try
                {
                    File.Delete(s);
                }
                catch (Exception) { }
            }
            Log.PopActivity(Check);
        }
    

开发者ID:ThisIsNotRocketScience,项目名称:GerberTools,代码行数:79,代码来源:GerberMerger.cs

在MergeAll()方法中,Path的代码示例类中的GetTempFileName的代码示例方法一共出现了2次, 见黄色背景高亮显示的地方,欢迎大家点赞

Path.GetTempFileName的代码示例5 - OnSelectedStreamChanged()

    using System.IO;

		/// 
		/// Called by the view to notify of a change in the selection of the SelectedStreamInfo.
		/// 
		public void OnSelectedStreamChanged()
		{
			if (View.SelectedStreamInfo != null && this.SelectedMsiFile != null)
			{
				// 1: find the right stream containing the cab bits:
				using (var oleFile = new OleStorageFile(new LessIO.Path(this.SelectedMsiFile.FullName)))
				{
					var foundStream = oleFile.GetStreams().FirstOrDefault(s => string.Equals(View.SelectedStreamInfo.Name, s.Name, StringComparison.InvariantCulture));
					if (foundStream == null)
					{
						View.ShowUserError("Could not find stream for CAB '{0}'", View.SelectedStreamInfo.Name);
						return;
					}
					// if the file is a cab, we'll list the files in it (if it isn't clear the view):
					IEnumerable streamFiles = new CabContainedFileView[]{};
					if (View.SelectedStreamInfo.IsCabStream)
					{
						var tempFileName = System.IO.Path.GetTempFileName();
						using (var cabBits = foundStream.GetStream(FileMode.Open, FileAccess.Read))
						using (var writer = new BinaryWriter(File.Create(tempFileName)))
						{
							var buffer = new byte[1024*1024];
							int bytesRead;
							do
							{
								bytesRead = cabBits.Read(buffer, 0, buffer.Length);
								writer.Write(buffer, 0, bytesRead);
							} while (bytesRead > 0);
						}
						// 2: enumerate files in the cab and set them to the view's
						
						using (var cab = new LibMSPackN.MSCabinet(tempFileName))
						{
							// ToList to force it to enumerate now.
							streamFiles = cab.GetFiles().Select(f => new CabContainedFileView(f.Filename)).ToList();
						}
						Debug.Assert(streamFiles != null && streamFiles.Any());						
					}
					View.SetCabContainedFileListSource(streamFiles);
				}
			}
		}
    

开发者ID:activescott,项目名称:lessmsi,代码行数:47,代码来源:MainFormPresenter.cs

在OnSelectedStreamChanged()方法中,Path的代码示例类中的GetTempFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Path.GetTempFileName的代码示例6 - PerformAppxWorkloadInstallation()

    using System.IO;

        public bool PerformAppxWorkloadInstallation(string ospath, string repositoryPath, string licenseFolder, AppxInstallWorkload workload)
        {
            bool result = true;

            //
            // Initialize DISM log
            //
            string tempLog = Path.GetTempFileName();
            DismApi.Initialize(DismLogLevel.LogErrorsWarningsInfo, tempLog);

            DismSession session = DismApi.OpenOfflineSession(ospath);

            try
            {
                DismApi.AddProvisionedAppxPackage(
                    session,
                    Path.Combine(repositoryPath, workload.AppXPath),
                    workload.DependenciesPath?.Select(x => Path.Combine(repositoryPath, x)).ToList() ?? new List(),
                    string.IsNullOrEmpty(workload.LicensePath) ? null : Path.Combine(licenseFolder, workload.LicensePath),
                    null,
                    string.IsNullOrEmpty(workload.StubPackageOption) ? DismStubPackageOption.None : DismStubPackageOption.InstallStub); // TODO: proper handling
            }
            catch { result = false; }

            //
            // Clean DISM
            //
            try
            {
                DismApi.CloseSession(session);
            }
            catch { }

            try
            {
                DismApi.Shutdown();
            }
            catch { }

            try
            {
                File.Delete(tempLog);
            }
            catch { }

            return result;
        }
    

开发者ID:gus33000,项目名称:UUPMediaCreator,代码行数:49,代码来源:DismOperations.cs

在PerformAppxWorkloadInstallation()方法中,Path的代码示例类中的GetTempFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Path.GetTempFileName的代码示例7 - GetBuildStringAsync()

    using System.IO;

        public static async Task GetBuildStringAsync(this UpdateData update)
        {
            string result = null;

            try
            {
                CExtendedUpdateInfoXml.File deploymentCab = null;

                foreach (CExtendedUpdateInfoXml.File file in update.Xml.Files.File)
                {
                    if (file.FileName.Replace('\\', Path.DirectorySeparatorChar).EndsWith("deployment.cab", StringComparison.InvariantCultureIgnoreCase))
                    {
                        deploymentCab = file;
                        break;
                    }
                }

                if (deploymentCab == null)
                {
                    goto exit;
                }

                FileExchangeV3FileDownloadInformation fileDownloadInfo = await FE3Handler.GetFileUrl(update, deploymentCab.Digest);
                if (fileDownloadInfo == null)
                {
                    goto exit;
                }

                string deploymentCabTemp = Path.GetTempFileName();
                await client.DownloadFileTaskAsync(new Uri(fileDownloadInfo.DownloadUrl), deploymentCabTemp);

                if (fileDownloadInfo.IsEncrypted)
                {
                    if (!await fileDownloadInfo.DecryptAsync(deploymentCabTemp, deploymentCabTemp + ".decrypted"))
                    {
                        goto exit;
                    }

                    File.Delete(deploymentCabTemp);
                    File.Move(deploymentCabTemp + ".decrypted", deploymentCabTemp);
                }

                try
                {
                    byte[] buffer = CabinetExtractor.ExtractCabinetFile(deploymentCabTemp, "UpdateAgent.dll");
                    result = GetBuildStringFromUpdateAgent(buffer);
                }
                catch { }

                string reportedBuildNumberFromService = update.Xml.ExtendedProperties.ReleaseVersion.Split('.')[2];
                if (!string.IsNullOrEmpty(result) && result.Count(x => x == '.') >= 2)
                {
                    string[] elements = result.Split('.');
                    elements[2] = reportedBuildNumberFromService;
                    result = string.Join(".", elements);
                }

                File.Delete(deploymentCabTemp);
            }
            catch
            {
            }

        exit:

            // For some reason we couldn't get the build string, so attempt to get it from CompDB metadata instead
            // This is less reliable, but it is the best we can actually do.
            if (string.IsNullOrEmpty(result))
            {
                try
                {
                    HashSet compDBs = await update.GetCompDBsAsync();
                    CompDB firstCompDB = compDBs.First();

                    // example:
                    // BuildInfo="co_release.21382.1.210511-1416" OSVersion="10.0.21382.1" TargetBuildInfo="co_release.21382.1.210511-1416" TargetOSVersion="10.0.21382.1"

                    string buildInfo = firstCompDB.TargetBuildInfo ?? firstCompDB.BuildInfo;
                    string osVersion = firstCompDB.TargetOSVersion ?? firstCompDB.OSVersion;

                    if (buildInfo == null)
                    {
                        return result;
                    }

                    string[] splitBI = buildInfo.Split(".");

                    result = $"{osVersion} ({splitBI[0]}.{splitBI[3]})";
                }
                catch { }
            }

            return result;
        }
    

开发者ID:gus33000,项目名称:UUPMediaCreator,代码行数:96,代码来源:UpdateDataExtensions.cs

在GetBuildStringAsync()方法中,Path的代码示例类中的GetTempFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

Path.GetTempFileName的代码示例8 - CanAddPictureFromFile()

    using System.IO;

        [Test]
        public void CanAddPictureFromFile()
        {
            using (var wb = new XLWorkbook())
            {
                var ws = wb.AddWorksheet("Sheet1");

                var path = Path.ChangeExtension(Path.GetTempFileName(), "jpg");

                try
                {
                    using (var resourceStream = Assembly.GetAssembly(typeof(ClosedXML.Examples.BasicTable)).GetManifestResourceStream("ClosedXML.Examples.Resources.SampleImage.jpg"))
                    using (var fileStream = File.Create(path))
                    {
                        resourceStream.Seek(0, SeekOrigin.Begin);
                        resourceStream.CopyTo(fileStream);
                        fileStream.Close();
                    }

                    var picture = ws.AddPicture(path)
                        .WithPlacement(XLPicturePlacement.FreeFloating)
                        .MoveTo(50, 50);

                    Assert.AreEqual(XLPictureFormat.Jpeg, picture.Format);
                    Assert.AreEqual(400, picture.Width);
                    Assert.AreEqual(400, picture.Height);
                }
                finally
                {
                    if (File.Exists(path))
                        File.Delete(path);
                }
            }
        }
    

开发者ID:ClosedXML,项目名称:ClosedXML,代码行数:36,代码来源:PictureTests.cs

在CanAddPictureFromFile()方法中,Path的代码示例类中的GetTempFileName的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

本文中的Path.GetTempFileName方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。