public static string InitLogDir(string?alias = null) { var logDirPath = Path.Combine(AppContext.BaseDirectory, "Logs"); IOPath.DirCreateByNotExists(logDirPath); #if StartupTrace StartupTrace.Restart("InitLogDir.IO"); #endif var logDirPath_ = logDirPath + Path.DirectorySeparatorChar; InternalLogger.LogFile = logDirPath_ + "internal-nlog" + alias + ".txt"; InternalLogger.LogLevel = NLogLevel.Error; var objConfig = new LoggingConfiguration(); var logfile = new FileTarget("logfile") { FileName = logDirPath_ + "nlog-all-${shortdate}" + alias + ".log", Layout = "${longdate}|${level}|${logger}|${message} |${all-event-properties} ${exception:format=tostring}", }; objConfig.AddTarget(logfile); objConfig.AddRule(NLogLevel.Error, NLogLevel.Fatal, logfile, "Microsoft.*"); objConfig.AddRule(NLogLevel.Error, NLogLevel.Fatal, logfile, "System.Net.Http.*"); objConfig.AddRule(AppHelper.DefaultNLoggerMinLevel, NLogLevel.Fatal, logfile, "*"); #if StartupTrace StartupTrace.Restart("InitLogDir.CreateLoggingConfiguration"); #endif LogManager.Configuration = objConfig; return(logDirPath); }
private void GetChildModel(TreeModel topModel) { if (File.Exists(topModel.AbsolutePath)) { //topModel.ContextMenu = contextMenu; return; } else { //获取文件和文件夹 string[] paths = Directory.GetFileSystemEntries(topModel.AbsolutePath, "*", SearchOption.TopDirectoryOnly); if (paths != null && paths.Length > 0) { for (int i = 0; i < paths.Length; i++) { TreeModel childModel = new TreeModel(); childModel.AbsolutePath = paths[i]; childModel.DisplayName = IOPath.GetFileName(childModel.AbsolutePath); childModel.Parent = topModel; topModel.Children.Add(childModel); GetChildModel(childModel); } } } }
//加载录制歌单 public void loadmyrecord(object sender, RoutedEventArgs e) { string folderPath = ConfigurationManager.AppSettings["myrecord"]; folderPath = IOPath.GetFullPath(folderPath); string[] mp3Files = EntityService.GetMusicFiles(folderPath); if (mp3Files != null) { playList.Clear(); mp3Files.ToList().ForEach(x => playList.Add(new Song() { Location = x })); //获取歌词和歌曲数 int i = 0; foreach (Song s in playList) { singer_get(s); s.LstLynic = GetLynicBySong(s); i++; } this.num.Text = i.ToString(); } this.songSheet.Text = "我录制的音乐"; s2 = this.songSheet.Text; this.text01.Text = texts01[3].T1; //设置歌单标签 this.text02.Text = texts01[3].T2; //设置歌单简介 }
public StatsSyncher(Session par1Session, StatFileWriter par2StatFileWriter, string par3File) { IsBusy = false; Field_27437_b = null; Field_27436_c = null; Field_27427_l = 0; Field_27426_m = 0; UnsentDataFile = IOPath.Combine(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username.ToLower()).Append("_unsent.dat").ToString()); DataFile = IOPath.Combine(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username.ToLower()).Append(".dat").ToString()); UnsentOldFile = IOPath.Combine(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username.ToLower()).Append("_unsent.old").ToString()); OldFile = IOPath.Combine(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username.ToLower()).Append(".old").ToString()); UnsentTempFile = IOPath.Combine(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username.ToLower()).Append("_unsent.tmp").ToString()); TempFile = IOPath.Combine(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username.ToLower()).Append(".tmp").ToString()); if (!par1Session.Username.ToLower().Equals(par1Session.Username)) { Func_28214_a(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username).Append("_unsent.dat").ToString(), UnsentDataFile); Func_28214_a(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username).Append(".dat").ToString(), DataFile); Func_28214_a(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username).Append("_unsent.old").ToString(), UnsentOldFile); Func_28214_a(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username).Append(".old").ToString(), OldFile); Func_28214_a(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username).Append("_unsent.tmp").ToString(), UnsentTempFile); Func_28214_a(par3File, (new StringBuilder()).Append("stats_").Append(par1Session.Username).Append(".tmp").ToString(), TempFile); } StatFileWriter = par2StatFileWriter; TheSession = par1Session; if (File.Exists(UnsentDataFile)) { par2StatFileWriter.Func_27179_a(Func_27415_a(UnsentDataFile, UnsentTempFile, UnsentOldFile)); } BeginReceiveStats(); }
public TexturePackList(Minecraft par1Minecraft, string par2File) { availableTexturePacks = new List <TexturePackBase>(); DefaultTexturePack = new TexturePackDefault(par1Minecraft); Field_6538_d = new Dictionary <string, TexturePackBase>(); Mc = par1Minecraft; TexturePackDir = IOPath.Combine(par2File, "Texturepacks"); if (Directory.Exists(TexturePackDir)) { if (File.Exists(TexturePackDir)) { File.Delete(TexturePackDir); Directory.CreateDirectory(TexturePackDir); } } else { Directory.CreateDirectory(TexturePackDir); } CurrentTexturePack = par1Minecraft.GameSettings.Skin; UpdateAvaliableTexturePacks(); SelectedTexturePack.Func_6482_a(); }
/// <summary> /// @args: Takes two arguments - first the name of the directory containing the world and second the new name for /// that world. @desc: Renames the world by storing the new name in level.dat. It does *not* rename the directory /// containing the world data. /// </summary> public virtual void RenameWorld(string par1Str, string par2Str) { string file = IOPath.Combine(SavesDirectory, par1Str); if (!File.Exists(file)) { return; } string file1 = IOPath.Combine(file, "level.dat"); if (File.Exists(file1)) { try { NBTTagCompound nbttagcompound = CompressedStreamTools.ReadCompressed(new FileStream(file1, FileMode.Open)); NBTTagCompound nbttagcompound1 = nbttagcompound.GetCompoundTag("Data"); nbttagcompound1.SetString("LevelName", par2Str); CompressedStreamTools.WriteCompressed(nbttagcompound, new FileStream(file1, FileMode.Create)); } catch (Exception exception) { Console.WriteLine(exception.ToString()); Console.Write(exception.StackTrace); } } }
/// <summary> /// 根据文件清单生成压缩包 /// </summary> /// <param name="dev"></param> /// <param name="item"></param> /// <param name="type"></param> public static void GenerateCompressedPackage(bool dev, PublishDirInfo item, AppDownloadType type) { var fileEx = GetFileExByCompressedType(type); var packPath = GetPackPath(dev, item, fileEx); Console.WriteLine($"正在生成压缩包:{packPath}"); IOPath.FileIfExistsItDelete(packPath); GetCreatePackByCompressedType(type)(packPath, item.Files); using var fileStream = File.OpenRead(packPath); var sha256 = Hashs.String.SHA256(fileStream); var fileInfoM = new PublishFileInfo { SHA256 = sha256, Length = fileStream.Length, Path = packPath, }; if (item.BuildDownloads.ContainsKey(type)) { item.BuildDownloads[type] = fileInfoM; } else { item.BuildDownloads.Add(type, fileInfoM); } }
private void Window_Loaded(object sender, RoutedEventArgs e) { this.rollingText.Text = "音乐播放器处于暂停状态"; //this.rollingText.label1.ForeColor = System.Drawing.Color.Blue; this.listBox.DataContext = playList; playerhandle = player.GetPlayerHandle(); playerhandle.MediaEnded += playerhandle_MediaEnded; playerhandle.MediaFailed += playerhandle_MediaFailed; playerhandle.MediaOpened += playerhandle_MediaOpened; player.playEvent += player_playEvent; player.playEvent_thread += player_playEvent_thread; this.slider.DataContext = player; //读取配置 string folderPath = ConfigurationManager.AppSettings["folderPath"]; folderPath = IOPath.GetFullPath(folderPath); if (!Directory.Exists(folderPath)) { return; } GetMP3Files(folderPath).ToList().ForEach(x => playList.Add(new Song() { Location = x })); //获取歌词 foreach (Song s in playList) { s.LstLynic = GetLynicBySong(s); } }
/// <summary> /// par: filename for the level.dat_mcr backup /// </summary> private void createFile(string par1Str) { string file = IOPath.Combine(SavesDirectory, par1Str); //PROBLEMS AHHHHHH if (!File.Exists(file)) { Console.WriteLine("Warning: Unable to create level.dat_mcr backup"); return; } string file1 = IOPath.Combine(file, "level.dat"); if (!File.Exists(file1)) { Console.WriteLine("Warning: Unable to create level.dat_mcr backup"); return; } string file2 = IOPath.Combine(file, "level.dat_mcr"); try { File.Move(file1, file2); } catch (Exception e) { Utilities.LogException(e); Console.WriteLine("Warning: Unable to create level.dat_mcr backup"); } }
public static void OnAssemblyInitialize(TestContext context) { Path = IOPath.GetFullPath(IOPath.Combine(context.TestDir, string.Format("..\\TestLog_{0:yyyy-MM-dd HH_mm_ss}.csv", DateTime.Now))); File.WriteAllLines(Path, new[] { "date-time,duration,result,feature-title,scenario-title" }); }
/// <summary> /// Checks the session lock to prevent save collisions /// </summary> public virtual void CheckSessionLock() { try { string file = IOPath.Combine(SaveDirectory, "session.lock"); BinaryReader datainputstream = new BinaryReader(new FileStream(file, FileMode.Open)); try { if (datainputstream.ReadInt64() != InitializationTime) { throw new MinecraftException("The save is being accessed from another location, aborting"); } } finally { datainputstream.Close(); } } catch (IOException ioexception) { Console.WriteLine(ioexception.ToString()); Console.WriteLine(); throw new MinecraftException("Failed to check session lock, aborting"); } }
/// <summary> /// Loads an unmanaged library from filesystem /// </summary> /// <param name="fullFileName">full qualified name of the library file</param> /// <param name="fileVersion">optional file version to check major and minor</param> /// <returns>handle to library</returns> /// <exception cref="FileNotFoundException">File is missing</exception> /// <exception cref="Win32Exception">Unable to load library</exception> /// <exception cref="FileLoadException">A version mismatch occurs</exception> /// <exception cref="ArgumentNullException">fullFileName is null or empty</exception> /// <exception cref="NetOfficeIOException">I/O related error</exception> public static CdeclHandle LoadLibrary(string fullFileName, Version fileVersion = null) { if (String.IsNullOrWhiteSpace(fullFileName)) { throw new ArgumentNullException("fullFileName"); } if (!File.Exists(fullFileName)) { throw new FileNotFoundException("File is missing.", fullFileName); } string folder = IOPath.GetDirectoryName(fullFileName); string fileName = IOPath.GetFileName(fullFileName); if (null != fileVersion) { FileVersionInfo version = FileVersionInfo.GetVersionInfo(fullFileName); if (version.FileMajorPart != fileVersion.Major || version.FileMinorPart != fileVersion.Minor) { throw new FileLoadException( String.Format("Unable to load library <{0}> because a version mismatch occurs.", fileName)); } } IntPtr ptr = Interop.LoadLibrary(fullFileName); if (ptr == IntPtr.Zero) { throw new Win32Exception(String.Format("Unable to load library <{0}>.", fileName)); } return(new CdeclHandle(ptr, folder, fileName)); }
/// <summary> /// 初始化文件系统 /// </summary> public static void InitFileSystem() { //var appDataRootPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); //if (string.IsNullOrWhiteSpace(appDataRootPath)) //{ // // 需要测试 macOS 和 linux 上 Environment.SpecialFolder.ApplicationData 返回的目录值 // // 之前在 android 上测试过 Environment.GetFolderPath 有些枚举值返回的是空字符串 比如StartMenu // throw new ArgumentNullException(nameof(appDataRootPath)); //} //appDataRootPath = Path.Combine(appDataRootPath, BuildConfig.APPLICATION_ID); var appDataRootPath = #if NET35 WinFormsApplication.StartupPath; #else AppContext.BaseDirectory; #endif var appDataPath = Path.Combine(appDataRootPath, AppDataDirName); var cachePath = Path.Combine(appDataRootPath, CacheDirName); IOPath.DirCreateByNotExists(appDataPath); IOPath.DirCreateByNotExists(cachePath); IOPath.InitFileSystem(GetAppDataDirectory, GetCacheDirectory); string GetAppDataDirectory() => appDataPath; string GetCacheDirectory() => cachePath; }
public static new Tuple <DirectoryEntry, ImmutableList <ProjectEntry> > Create(DirectoryInfo dir, string relativePath) { var dirsAndProjects = from d in dir.EnumerateDirectories() where !d.IsHidden() && !d.Name.Equals("bin", StringComparison.OrdinalIgnoreCase) && !d.Name.Equals("obj", StringComparison.OrdinalIgnoreCase) orderby d.Name select Create(d, IOPath.Combine(relativePath, d.Name)); var dirs = ImmutableList.CreateBuilder <DirectoryEntry>(); foreach (var dap in dirsAndProjects) { // Discard sub-projects dirs.Add(dap.Item1); } var files = from f in dir.EnumerateFiles() where !f.IsHidden() orderby f.Name select(Entry) FileEntry.Create(f, IOPath.Combine(relativePath, f.Name)); var project = new ProjectEntry(relativePath, false, dir, dirs.ToImmutable(), files.ToImmutableList(), new ReferencesEntry(false, relativePath + ":references", ImmutableList.Create <ReferenceEntry>()), -1); return(new Tuple <DirectoryEntry, ImmutableList <ProjectEntry> >( project, ImmutableList.Create(project))); }
static Library() { Version = string.Empty; Id = string.Empty; Platform = string.Empty; ResolveDotNetAssemblies = true; var text = ImplementationResources.Configuration; var separators = new[] { '\r', '\n' }; var lines = text.Split(separators, StringSplitOptions.RemoveEmptyEntries); Version = Find("Version", lines); using (var stream = new FileStream(typeof(Library).Assembly.Location, FileMode.Open, FileAccess.Read)) { using (var sha1 = SHA1.Create()) { var hash = sha1.ComputeHash(stream); var id = BitConverter.ToString(hash); Id = id.Replace("-", string.Empty); } } Platform = Environment.Is64BitProcess ? "x64" : "x86"; var appData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); LibPath = IOPath.Combine(appData, FdkLibsName, Library.Id, Library.Platform); }
public void IOPathImplicitBackTest() { IOPath ioPath = new IOPath("test"); string temp = "test"; IOPath target = temp; Assert.AreEqual(target, ioPath); }
public void IOPathImplicitTest() { string path = "test"; IOPath target = new IOPath("test"); string temp = target; Assert.AreEqual(temp, path); }
static SQLiteAsyncConnection GetConnection() { var dbPath = DataBaseDirectory; IOPath.DirCreateByNotExists(dbPath); dbPath = Path.Combine(dbPath, "application.dbf"); return(new SQLiteAsyncConnection(dbPath, SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.Create | SQLiteOpenFlags.SharedCache)); }
private void Func_28214_a(string par1File, string par2Str, string par3File) { string file = IOPath.Combine(par1File, par2Str); if (File.Exists(file) && !Directory.Exists(file) && !File.Exists(par3File)) { File.Move(file, par3File); } }
public void IsExistedDirectoryTest1() { string path = "C:\\temp"; IOPath target = new IOPath(path); bool expected = true; bool actual; actual = target.IsExistedDirectory(); Assert.AreEqual(expected, actual); }
public void IsExistedDirectoryTest2() { string path = "C:\\temp\\scardsvr.exe"; IOPath target = new IOPath(path); bool expected = false; bool actual; actual = target.IsExistedDirectory(); Assert.AreEqual(expected, actual); }
public void IsExistedDirectoryTest4() { string path = null; IOPath target = new IOPath(path); bool expected = false; bool actual; actual = target.IsExistedDirectory(); Assert.AreEqual(expected, actual); }
public void LastDirectoryTestL() { string path = "C:/temp/test.exe"; // TODO: 初始化为适当的值 IOPath target = new IOPath(path); // TODO: 初始化为适当的值 string expected = "C:/temp/"; // TODO: 初始化为适当的值 string actual; actual = target.LastDirectory(); Assert.AreEqual(expected, actual); }
public void ToStringTest() { string path = "test"; // TODO: 初始化为适当的值 IOPath target = new IOPath(path); // TODO: 初始化为适当的值 string expected = "test"; // TODO: 初始化为适当的值 string actual; actual = target.ToString(); Assert.AreEqual(expected, actual); }
protected override void OverwriteUpgrade(string value, bool isIncrement) { if (isIncrement) // 增量更新 { OverwriteUpgradePrivate(value); } else // 全量更新 { var dirPath = Path.Combine(AppContext.BaseDirectory, Path.GetFileNameWithoutExtension(value)); if (Directory.Exists(dirPath)) { Directory.Delete(dirPath, true); } if (TarGZipHelper.Unpack(value, dirPath, progress: new Progress <float>(OnReportDecompressing), maxProgress: MaxProgressValue)) { OnReport(MaxProgressValue); IOPath.FileTryDelete(value); OverwriteUpgradePrivate(dirPath); } else { toast.Show(SR.UpdateUnpackFail); OnReport(MaxProgressValue); } } void OverwriteUpgradePrivate(string dirPath) { OnExit(); var updateCommandPath = Path.Combine(IOPath.CacheDirectory, "update.cmd"); IOPath.FileIfExistsItDelete(updateCommandPath); var updateCommand = string.Format( SR.ProgramUpdateCmd_, AppHelper.ProgramName, dirPath.TrimEnd(Path.DirectorySeparatorChar), AppContext.BaseDirectory, AppHelper.ProgramPath); updateCommand = "chcp" + Environment.NewLine + "chcp 65001" + Environment.NewLine + updateCommand; File.WriteAllText(updateCommandPath, updateCommand, Encoding.UTF8); using var p = new Process(); p.StartInfo.FileName = updateCommandPath; p.StartInfo.UseShellExecute = false; p.StartInfo.CreateNoWindow = !ThisAssembly.Debuggable; // 不显示程序窗口 p.StartInfo.Verb = "runas"; // 管理员权限运行 p.Start(); // 启动程序 } }
/// <summary> /// Converts the specified map to the new map format. Args: worldName, loadingScreen /// </summary> public override bool ConvertMapFormat(string par1Str, IProgressUpdate par2IProgressUpdate) { par2IProgressUpdate.SetLoadingProgress(0); List <string> arraylist = new List <string>(); List <string> arraylist1 = new List <string>(); List <string> arraylist2 = new List <string>(); string file = IOPath.Combine(SavesDirectory, par1Str); string file1 = IOPath.Combine(file, "DIM-1"); string file2 = IOPath.Combine(file, "DIM1"); Console.WriteLine("Scanning folders..."); Func_48432_a(file, arraylist); if (File.Exists(file1)) { Func_48432_a(file1, arraylist1); } if (File.Exists(file2)) { Func_48432_a(file2, arraylist2); } int i = arraylist.Count + arraylist1.Count + arraylist2.Count; Console.WriteLine((new StringBuilder()).Append("Total conversion count is ").Append(i).ToString()); WorldInfo worldinfo = GetWorldInfo(par1Str); object obj = null; if (worldinfo.GetTerrainType() == WorldType.FLAT) { obj = new WorldChunkManagerHell(BiomeGenBase.Plains, 0.5F, 0.5F); } else { obj = new WorldChunkManager(worldinfo.GetSeed(), worldinfo.GetTerrainType()); } Func_48428_a(IOPath.Combine(file, "region"), arraylist, ((WorldChunkManager)(obj)), 0, i, par2IProgressUpdate); Func_48428_a(IOPath.Combine(file1, "region"), arraylist1, new WorldChunkManagerHell(BiomeGenBase.Hell, 1.0F, 0.0F), arraylist.Count, i, par2IProgressUpdate); Func_48428_a(IOPath.Combine(file2, "region"), arraylist2, new WorldChunkManagerHell(BiomeGenBase.Sky, 0.5F, 0.0F), arraylist.Count + arraylist1.Count, i, par2IProgressUpdate); worldinfo.SetSaveVersion(19133); if (worldinfo.GetTerrainType() == WorldType.DEFAULT_1_1) { worldinfo.SetTerrainType(WorldType.DEFAULT); } createFile(par1Str); ISaveHandler isavehandler = GetSaveLoader(par1Str, false); isavehandler.SaveWorldInfo(worldinfo); return(true); }
public static void InitFileSystemByBaseDirectory() { var appDataPath = BaseDirectory.AppDataDirectory; var cachePath = BaseDirectory.CacheDirectory; IOPath.DirCreateByNotExists(appDataPath); IOPath.DirCreateByNotExists(cachePath); InitFileSystem(GetAppDataDirectory, GetCacheDirectory); string GetAppDataDirectory() => appDataPath; string GetCacheDirectory() => cachePath; }
private void Func_48432_a(string par1File, List <string> par2ArrayList) { string[] afile = Directory.GetFiles(IOPath.Combine(par1File, "region"), AnvilSaveConverterFileFilter.SearchString); if (afile != null) { for (int i = 0; i < afile.Length; i++) { par2ArrayList.Add(afile[i]); } } }
/// <inheritdoc cref="FileSystem2.InitFileSystem"/> public static void InitFileSystem() { // https://github.com/xamarin/Essentials/blob/main/Xamarin.Essentials/FileSystem/FileSystem.ios.tvos.watchos.macos.cs var appDataPath = Path.Combine(GetDirectory(NSSearchPathDirectory.LibraryDirectory), Constants.HARDCODED_APP_NAME); var cachePath = Path.Combine(GetDirectory(NSSearchPathDirectory.CachesDirectory), Constants.HARDCODED_APP_NAME); IOPath.DirCreateByNotExists(appDataPath); IOPath.DirCreateByNotExists(cachePath); InitFileSystem(GetAppDataDirectory, GetCacheDirectory); string GetAppDataDirectory() => appDataPath; string GetCacheDirectory() => cachePath; }
/// <summary> /// 获取文件夹路径,返回的路径必定存在 /// </summary> /// <param name="folder"></param> /// <returns></returns> public static string GetPath(this AppFolder folder) { var path1 = folder switch { AppFolder.Images or AppFolder.Cache => IOPath.CacheDirectory, AppFolder.Database => IOPath.AppDataDirectory, _ => throw new ArgumentOutOfRangeException(nameof(folder), folder, null), }; var path = Path.Combine(path1, folder.ToString()); IOPath.DirCreateByNotExists(path); return(path); }