我有一个方法GetFileDetails(FileInfo fi),用来获取文件的信息,并在listview里显示。现在我新建了一个文件,知道了这个文件的全路径名。我该怎样使用我的GetFileDetails(FileInfo fi)??部分代码如下:        public void GetFileDetails(FileInfo fi)//获取文件的详细信息,并添加到lstvFiles
        {
            ListViewItem lvi;
            ListViewItem.ListViewSubItem lvsi;
            lvi = new ListViewItem();
            lvi.Text = fi.Name;
            lvi.Tag = fi.FullName;
            lvi.ImageIndex = GetImage(fi.Name);
            lvsi = new ListViewItem.ListViewSubItem();
            lvsi.Text = fi.Length.ToString();
            lvi.SubItems.Add(lvsi);
            lvsi = new ListViewItem.ListViewSubItem();
            lvsi.Text = fi.LastAccessTime.ToString();
            lvi.SubItems.Add(lvsi);
            this.lstvFiles.Items.Add(lvi);
        }//下面是新建文件的操作,想在新建之后添加到listview里面,  private void tsbtnNewFile_Click(object sender, EventArgs e)//在当前目录下新建一个文件
        {
            CreateFileForm CFile = new CreateFileForm(_folderName);
            CFile.ShowDialog();              //这两句打开新建文件的子窗体,用来输入文件名
            FileStream fs= File.Create(newFile);
            fs.Close();            string fileN = Path.GetFileName(newFile);
            lstvFiles.Items.Add(fileN);
            lstvFiles.Items[lstvFiles.Items.Count - 1].ImageIndex = GetImage(fileN);
        }
现在的问题是 string fileN = Path.GetFileName(newFile);
             lstvFiles.Items.Add(fileN);
             lstvFiles.Items[lstvFiles.Items.Count - 1].ImageIndex = GetImage(fileN);
用这3句只能显示图标和文件名。我应该怎样调用GetFileDetails(FileInfo fi)来获得并显示文件?
            

解决方案 »

  1.   

    另外还有一个问题哦,
    fi.Length.ToString();获得文件大小不是我想要的那种
    比如说我一个157KB的文件,得到的是“159853"。我怎样才能得到“157KB”
      

  2.   

    CreateFileForm CFile = new CreateFileForm(_folderName);
      CFile.ShowDialog(); //这两句打开新建文件的子窗体,用来输入文件名
      FileStream fs= File.Create(newFile);
      fs.Close();
     
    GetFileDetails(new FileInfo(newFile));//这里调用
     
      

  3.   


    哦~原来是这样。。new FileInfo(newFile)之前我没有“new”所以调用不了。原来如此。。谢谢谢谢!!
      

  4.   


    FileInfo f = new FileInfo(strText);
    GetFileDetails(f);
      

  5.   

    .....
    然后再除1024 -- M 再除1024---G 再除1024 ---T 
      

  6.   

    FileInfo f = new FileInfo(strPath);
                long lng = f.Length;
                string strResult=string.Empty;
                if (lng > 1024)
                {
                    double dbl=(double)lng;
                    strResult =(dbl / 1024).ToString("N2") + "KB";
                }
                else
                {
                    strResult = lng.ToString() + "B";
                }
      

  7.   

    FileInfo类就是.net提供的获取文件信息的类。