当前位置: 首页>>代码示例>>C#>>正文


C# FileInfo.LastIndexOf方法代码示例

本文整理汇总了C#中FileInfo.LastIndexOf方法的典型用法代码示例。如果您正苦于以下问题:C# FileInfo.LastIndexOf方法的具体用法?C# FileInfo.LastIndexOf怎么用?C# FileInfo.LastIndexOf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FileInfo的用法示例。


在下文中一共展示了FileInfo.LastIndexOf方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

    static void Main(string[] args)
    {
        var outputDirPath = System.IO.Path.Combine(Application.StartupPath, "Output");
        if (!Directory.Exists(outputDirPath))
        {
            try
            {
                Directory.CreateDirectory(outputDirPath);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
                return;
            }
        }

        foreach (var fn in Directory.GetFiles(Application.StartupPath, "Template_*.dll"))
        {
            var asm = Assembly.LoadFile(fn);
            var t = TemplateScaner.GetTemplate(asm);
            var shortfn = new FileInfo(fn).Name;
            shortfn = shortfn.Substring(0, shortfn.LastIndexOf('.'));
            t.Name = shortfn.Substring("Template_".Length);
            var path = System.IO.Path.Combine(outputDirPath, shortfn.Replace(".", "_"));
            if (!Directory.Exists(path))
            {
                try
                {
                    Directory.CreateDirectory(path);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    Console.ReadKey();
                    return;
                }
            }
            LoadSaves.LoadSaveAll(t, outputDirPath);

            GenCPP.Gen(t, path);
            // more gen here
        }

        Process.Start("explorer.exe", outputDirPath);
    }
开发者ID:denghe,项目名称:xxpkggen,代码行数:46,代码来源:Program.cs

示例2: Post

    public HttpResponseMessage Post(string action, string dirPath = "")
    {
        WebUtils.CheckRightsForAdminPostPages(false);

        HttpPostedFile file = HttpContext.Current.Request.Files[0];
        action = action.ToLowerInvariant();

        if (file != null && file.ContentLength > 0)
        {
            var dirName = string.Format("/{0}/{1}", DateTime.Now.ToString("yyyy"), DateTime.Now.ToString("MM"));
            var fileName = new FileInfo(file.FileName).Name; // to work in IE and others

            // iOS sends all images as "image.jpg" or "image.png"
            fileName = fileName.Replace("image.jpg", DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".jpg");
            fileName = fileName.Replace("image.png", DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".png");

            if (!string.IsNullOrEmpty(dirPath))
                dirName = dirPath;

            if (action == "filemgr" || action == "file")
            {
                string[] ImageExtensnios = { ".jpg", ".png", ".jpeg", ".tiff", ".gif", ".bmp" };

                if (ImageExtensnios.Any(x => fileName.ToLower().Contains(x.ToLower())))
                    action = "image";
                else
                    action = "file";
            }

            var dir = BlogService.GetDirectory(dirName);
            var retUrl = "";

            if (action == "import")
            {
                if (Security.IsAdministrator)
                {
                    return ImportBlogML();
                }
            }
            if (action == "profile")
            {
                if (Security.IsAuthorizedTo(Rights.EditOwnUser))
                {
                    // upload profile image
                    dir = BlogService.GetDirectory("/avatars");
                    var dot = fileName.LastIndexOf(".");
                    var ext = dot > 0 ? fileName.Substring(dot) : "";
                    var profileFileName = User.Identity.Name + ext;

                    var imgPath = HttpContext.Current.Server.MapPath(dir.FullPath + "/" + profileFileName);
                    var image = Image.FromStream(file.InputStream);
                    Image thumb = image.GetThumbnailImage(80, 80, () => false, IntPtr.Zero);
                    thumb.Save(imgPath);

                    return Request.CreateResponse(HttpStatusCode.Created, profileFileName);
                }
            }
            if (action == "image")
            {
                if (Security.IsAuthorizedTo(Rights.EditOwnPosts))
                {
                    var uploaded = BlogService.UploadFile(file.InputStream, fileName, dir, true);
                    return Request.CreateResponse(HttpStatusCode.Created, uploaded.AsImage.ImageUrl);
                }
            }
            if (action == "file")
            {
                if (Security.IsAuthorizedTo(Rights.EditOwnPosts))
                {
                    var uploaded = BlogService.UploadFile(file.InputStream, fileName, dir, true);
                    retUrl = uploaded.FileDownloadPath + "|" + fileName + " (" + BytesToString(uploaded.FileSize) + ")";
                    return Request.CreateResponse(HttpStatusCode.Created, retUrl);
                }
            }
            if (action == "video")
            {
                if (Security.IsAuthorizedTo(Rights.EditOwnPosts))
                {
                    // default media folder
                    var mediaFolder = "Custom/Media";

                    // get the mediaplayer extension and use it's folder
                    var mediaPlayerExtension = BlogEngine.Core.Web.Extensions.ExtensionManager.GetExtension("MediaElementPlayer");
                    mediaFolder = mediaPlayerExtension.Settings[0].GetSingleValue("folder");

                    var folder = Utils.ApplicationRelativeWebRoot + mediaFolder + "/";
                    //var fileName = file.FileName;

                    UploadVideo(folder, file, fileName);

                    return Request.CreateResponse(HttpStatusCode.Created, fileName);
                }
            }
        }
        return Request.CreateResponse(HttpStatusCode.BadRequest);
    }
开发者ID:doct15,项目名称:blogengine,代码行数:96,代码来源:UploadController.cs

示例3: PullAtLogin

        public static void PullAtLogin(string username, string accesstoken, StreamWriter sw, StreamReader sr)
        {
            /**
             * In questa funzione non abbiamo bisogno di inibire il FSWatcher per i file appena pullato perchè il FSWatcher non è ancora partito.
             * */
            bool nuovo = false;

            /** Scarico la lista di tutti i file del vfs del server **/
            PullListResponse pl= DoPullList(username,accesstoken,-1,SyncToken.Instance.VFSVersion,sw,sr);
            IEnumerable<string> dirtree = pl.DirTree;
            IEnumerable<VFile> listServer = pl.List; //in listServer ho la lista di tutti i file del file system del server
            try
            {
                FSWatcher.Instance.SetIgnoreDirs(dirtree);
                // Allinea la struttura delle directories
                DownloadRemoteDirTree(dirtree, sw, sr);
            }
            finally {
                FSWatcher.Instance.ClearIgnoreDirs();
            }

            /** tutti i file che NON sono nel dizionario li devo pushare **/
            Dictionary<string, VFile> processedFile = new Dictionary<string, VFile>();

            string rootPath = GetRootPath();
            /** Per ogni file sul server, devo fare le diverse prove **/
            foreach (VFile vf in listServer)
            {
                string absolutePath = new FileInfo(Path.Combine(rootPath, "." + vf.Path, vf.Name)).FullName;
                /** se il file sul vfs del client esiste **/
                if (File.Exists(absolutePath))
                {
                    /** e il file sul server era eliminato **/
                    if (vf.Deleted)
                    {
                        if (vf.Hash == GetFileHash(absolutePath))
                        {
                            File.Delete(absolutePath);
                        }
                        else
                        {
                            /** rinominare il file perché è un conflitto **/
                            string str = null;
                            string conflictAppendix = "_conflicted_at_" + DateTime.Now.Ticks;
                            if (absolutePath.Contains('.'))
                                str = absolutePath.Insert(absolutePath.LastIndexOf('.'), conflictAppendix);
                            else
                                str = absolutePath + conflictAppendix;
                            File.Move(absolutePath, str);
                            /** Non devo aggiungere nulla al dizionario **/
                        }
                    }
                    /** Il file sul server esiste ancora **/
                    else
                    {
                        /** e l'hash del file è uguale **/
                        if (vf.Hash == GetFileHash(absolutePath))
                        {
                            /** File sincronizzato, non devo fare nuall **/
                            /** Aggiungere il file all'interno del dizionario **/
                            processedFile.Add(absolutePath, vf);
                        }
                        else
                        {
                            /** copia di conflitto -- rinominare **/
                            string str = null;
                            string conflictAppendix = "_conflicted_at_" + DateTime.Now.Ticks;
                            if (absolutePath.Contains('.'))
                                str = absolutePath.Insert(absolutePath.LastIndexOf('.'), conflictAppendix);
                            else
                                str = absolutePath + conflictAppendix;
                            File.Move(absolutePath, str);

                            // Ora devo pullare il nuovo file.
                            try
                            {
                                /** Devo pullare il file **/
                                var fileResponse = UserUtils.DoDownloadFile(vf.Id, vf.Version, SyncToken.Instance.VFSVersion, username, accesstoken, true, sw, sr);
                                var upChunk = fileResponse.List;
                                nuovo = !File.Exists(absolutePath);
                                HandleTempDownload(absolutePath, upChunk, username, accesstoken, sw, sr);
                            }
                            catch (Exception e)
                            {
                                if (File.Exists(absolutePath) && nuovo)
                                    File.Delete(absolutePath);
                                throw e;
                            }
                            processedFile.Add(absolutePath, vf);
                        }
                    }
                }
                else
                {
                    if (!vf.Deleted)
                    {
                        try
                        {
                            /** Devo pullare il file **/
                            var fileResponse = UserUtils.DoDownloadFile(vf.Id, vf.Version, SyncToken.Instance.VFSVersion, username, accesstoken, true, sw, sr);
//.........这里部分代码省略.........
开发者ID:albertogeniola,项目名称:MalnatiServer,代码行数:101,代码来源:UserUtils.cs


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