[C#]读取文件大小

关键代码:

        /// <summary>
        /// 获取文件大小—字节
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>文件大小</returns>
        public static long GetSize(string filePath)
        {
            long _size = 0;
            try
            {
                if (File.Exists(filePath))
                {
                    FileStream _stream = new FileStream(filePath, FileMode.Open);
                    _size = _stream.Length;
                    _stream.Close();
                    _stream.Dispose();
                }
            }
            catch (Exception ex)
            {
                _size = 0;
                Debug.WriteLine(string.Format("获取文件大小异常,原因:{0}", ex.Message));
            }
            return _size;
        }
        /// <summary>
        /// 获取文件大小—kb
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>文件大小_kb</returns>
        public static double GetKBSize(string filePath)
        {
            double _kb = 0;
            long _size = GetSize(filePath);
            if (_size != 0)
            {
                _kb = _size / 1024d;
            }
            return _kb;
        }
        /// <summary>
        /// 获取文件大小—mb
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>文件大小_mb</returns>
        public static double GetMBSize(string filePath)
        {
            double _mb = 0;
            long _size = GetSize(filePath);
            if (_size != 0)
            {
                _mb = _size / 1048576d;//1024*1024==1048576;
            }
            return _mb;
        }
代码比较简单,那么我们来测试一下,有一个一兆多日志文件,来读取下,如图:
测试代码:
                string _path = @"C:\CodePlex\CSharpUtilHelp\UtilHelp\LogUtilHelpV2Test\bin\Release\Log\20140731.log";
                Console.WriteLine("File Size:" + FileToolV2.GetSize(_path));
                Console.WriteLine("File Size_kb:" + FileToolV2.GetKBSize(_path) + " kb");
                Console.WriteLine("File Size_mb:" + FileToolV2.GetMBSize(_path) + " mb");

测试效果:

希望有所帮助!

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

[C#]读取文件大小,布布扣,bubuko.com

时间: 2024-12-28 13:19:58

[C#]读取文件大小的相关文章

PHP读取文件_2014.5.26的总结

1.PHP部分文件操作函数 (1)  fopen 打开文件函数 fopen (路径和文件名,打开方式); (2)  fread 读取文件内容 fread (打开的文件,结束位置); (3)  filesize 读取文件大小,字节为计量单位 filesize (路径和文件名); (4)  fwrite 写入文件内容 fwrite (路径和文件名,写入的内容); (5)  fclose 关闭打开的文件   close (路径和文件名); 例: <?php $arr = array(array("

Java本地文件操作(三)文件属性的读取

package com.yeqc.testDemo; import java.io.File; public class ReadFileProperty { public static void main(String[] args) { File file = new File("text.txt"); //判断文件是否存在 System.out.println("判断文件是否存在"+file.exists()); //读取文件名称 System.out.pri

HTML5 文件域+FileReader 分段读取文件并上传(七)-WebSocket

一.单文件上传实例 HTML: <div class="container"> <div class="panel panel-default"> <div class="panel-heading">分段读取文件:</div> <div class="panel-body"> <input type="file" id="file

java IO流 文件大小记载

public void encryptFile(String fileName) { FileInputStream fis=null; File file=null; try { file=new File(fileName); fis = new FileInputStream(file); System.out.println(file.length()); System.out.println(fis.available()); } catch (FileNotFoundExceptio

java 读取图片色深

问题: 想写一个小程序可读取图片的色深(bit-depth).网上有一些软件可完成这个功能,但是我想把程序做成一个可移植的插件. 本想用c写的,但实在麻烦,最后选择java,与很多方法不用自己写,速度快. 最后打包成一个jar包,只要装了jdk就可以在控制台运行. 我用的是MYECLIPSE,步骤如下:1.创建一个工程: 2.创建一个java class: 3.程序包含两个类getinfo.java 和 methodclass.java: getinfo.java包含main()方法,代码如下:

Java读取大文件的操作【转】

转自http://aronlulu.iteye.com/blog/1018370 读取文件大小:1.45G 第一种,OldIO: Java代码   public static void oldIOReadFile() throws IOException{ BufferedReader br = new BufferedReader(new FileReader("G://lily_947.txt")); PrintWriter pw = new PrintWriter("G

HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)

说明:使用Ajax方式上传,文件不能过大,最好小于三四百兆,因为过多的连续Ajax请求会使后台崩溃,获取InputStream中数据会为空,尤其在Google浏览器测试过程中. 1.简单分段读取文件为Blob,ajax上传到服务器 <div class="container"> <div class="panel panel-default"> <div class="panel-heading">分段读取文件

html5 前端图片处理(预览、压缩、缩放)

现在手机图片是越来越大了,上传图片流量耗费巨大.同时预览也是一个问题,所以利用HTML5 file和canvas来解决这个问题. var upload = { _o: null,//对象id _auto: true,//是否自动上传 _yl: false,//预览 _ylFun: null,//预览回调函数 _ys: 100,//压缩 (1-100)100不压缩 _sf: 100,//缩放(1-100)100不缩放 img: null, mImg: null, init: function (o

Java I/O基础

字节流和字符流的区别,字节流一次读取一个字节,字符流一次读取的是一个Unicode码,读取了2个字节. 可以以文本编辑器打开的可以使用字符流读取,否则用字符流读取可能就会出错.图像文件就需要用字节流读取,不能用字符流操作. 字节流的基类是InputStream和OutputStream,字符流的基类是Reader和Writer. 读取并复制图片的代码,读取到缓存,一边读一边写. ps:文件的相对路径要写什么看看System.getProperty("user.dir")就知道了,这个是