这篇博客参照http://www.cnblogs.com/insus/archive/2013/08/08/3247078.html

题目是这样的:

一个txt文件,内容格式:

39.4% 2013-07-09 15-38-79

35.7 2013-08-09 15-38-59

39.4% 2013-07-09 15-38-79

35.7 2013-08-09 15-38-59

39.4% 2013-07-09 15-38-79

35.7 2013-08-09 15-38-59

39.4% 2013-07-09 15-38-79

35.7 2013-08-09 15-38-59

39.4% 2013-07-09 15-38-79 35.7 2013-08-09 15-38-59

现在要想这样输出:

|39.4%|2013-07-0915-38-79|35.7|2013-08-0915-38-59|
|35.7|2013-08-0915-38-59|39.4%|2013-07-0915-38-79|
|35.7|2013-08-0915-38-59|35.7|2013-08-0915-38-59|

直接贴代码:我的代码跟原帖由些不同。我的代码中用的是ref(不需先赋值,out得先赋值),另外我这里一个方法用的是静态函数,一个用非静态,其实道理都是一样。

 class Program
{
static void Main(string[] args)
{
string[] lines = File.ReadAllLines("../../ReadLineToAnotherTypeOfShow.txt"); List<ChangeClass> ccList=new List<ChangeClass> ();
ChangeClass ccItem = null; foreach(string line in lines)
{
//方法一
//ChangeClass cc = new ChangeClass();
//cc.TryParse(line,ref ccItem);
//方法二
if( ChangeClass2.TryParse(line,ref ccItem))
ccList.Add(ccItem);
} for (int i = 1; i < ccList.Count;i=i+2 )
{
Console.WriteLine("|"+ccList[i-1]+"|"+ccList[i]+"|");
} Console.ReadKey(); } } partial class ChangeClass
{
protected string e1;
protected string e2; public ChangeClass() { }
public ChangeClass(string e1,string e2)
{
this.e1 = e1;
this.e2 = e2;
} public bool TryParse(string singelLine,ref ChangeClass item)
{
if (string.IsNullOrEmpty(singelLine.Trim()))
{
return false;
}
string[] array = singelLine.Trim().Split(' '); if (array[0] == "" || array[1] == "" || array[2] == "")
return false; e1 = array[0].ToString();
e2 = array[1] + array[2].ToString(); item = new ChangeClass(e1,e2);
return true;
} public override string ToString()
{
return "" + e1 + "|" + e2 + "";
} } partial class ChangeClass2
{
protected static string E1;
protected static string E2; public ChangeClass2(string e1, string e2)
{
E1 = e1;
E2 = e2;
} public static bool TryParse(string singelLine, ref ChangeClass item)
{
if (string.IsNullOrEmpty(singelLine.Trim()))
{
return false;
}
string[] array = singelLine.Trim().Split(' '); if (array[0] == "" || array[1] == "" || array[2] == "")
return false; E1 = array[0].ToString();
E2 = array[1] + array[2].ToString(); item = new ChangeClass(E1, E2);
return true;
} public override string ToString()
{
return "" + E1 + "|" + E2 + "";
} }

  总结上面的几个知识点:1。从changclass2可以发现,其实静态变量也是可以通过构造函数赋值的。

2、我们也可以通过静态的类型构造函数对静态赋值,但是,不能有参数,形如: static ChangeClass2(){E1=10;}//

通过静态变量赋值,必须是常量。

3、ref和out都引用同一个内存块,不同是,声明ref的变量不需赋值,而out变量要提前赋值;

4.这个方法中还有一种思想:

通过foreach和迭代器结合,操作数组。我们通过在classchange类中重写头string()方法,导致在main()中调用console.writline(classchange的实例),会直接调用重写的头string()方法,从而输出我们自己想要的结果;

读取txt文件,并用其他格式显示的更多相关文章

  1. jquery读取csv文件并用json格式输出

    直接贴上代码: <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Untit ...

  2. Javascript写入txt和读取txt文件的方法

    文章主要介绍了Javascript写入txt和读取txt文件的方法,需要的朋友可以参考下1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码 代码如下: Va ...

  3. 路径正确下,Eclipse读取txt文件仍失败

    症状:使用Eclipse读取文件时,路径输入确认正确(前提!!!),但控制台总报错: 错误类型一: Exception in thread "main" java.io.FileN ...

  4. 读取txt文件加DevExpress之进度条progressBarControl

    进度条使用 主要掌握下边几个命令, //水平进度条 progressBarControlH.Properties.Minimum = 0;//1:设置最大数量,比如读取txt文件内容,先要查出行数,然 ...

  5. Java中读取txt文件中中文字符时,出现乱码的解决办法

    这是我写的一个Java课程作业时,遇到的问题. 问题描述: 我要实现的就是将txt文件中的内容按一定格式读取出来后,存放在相应的数组. 我刚开始运行时发现,英文可以实现,但是中文字符就是各种乱码. 最 ...

  6. c# 读取txt文件并分隔

    public static List<PostPerson> GetNameByFile() { #region 读取txt文件 var file = File.Open(Environm ...

  7. web端自动化——Python读取txt文件、csv文件、xml文件

    1.读取txt文件 txt文件是我们经常操作的文件类型,Python提供了以下几种读取txt文件的方式. 1)read(): 读取整个文件. 2)readline(): 读取一行数据. 3)readl ...

  8. 怎样用 I/O流读取txt文件?

    java.io包提供了用来永久保存对象状态的机制,可处理各种类型的流,如文件流.字节流.字符流等,还提供实现可串行化Serializable接口.可处理对象流. Java语言提供3种自动生成的标准流. ...

  9. python3 读取txt文件数据,绘制趋势图,matplotlib模块

    python3 读取txt文件数据,绘制趋势图 test1.txt内容如下: 时间/min cpu使用率/% 内存使用率/% 01/12-17:06 0.01 7.61 01/12-17:07 0.0 ...

随机推荐

  1. 运维平台cmdb开发-day1

    序读项目由来 终极目标,运维平台.自动化.装机,监控,安装软件,部署基础服务,资产管理,之前是excel,现在是客户端自动获取,变更记录 后台管理 api 采集资产 四种模式agent 定时,每天执行 ...

  2. node+express+jade搭建一个简单的"网站"

    1.建立工程文件夹:my_jade 2.下载express和jade包到本地.我个人不喜欢下载成全局的,我喜欢下到工程文件夹中去. 3.建立相关的文件夹和文件. index.js: style.css ...

  3. md5加密(4)

    package test1; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; pu ...

  4. Java EE学习路线

    题记: 不行动,注定是个失败者! 1.coding:servlet->jsp 通过看视频快速上手 2.reading:Thinking in java 英文版 时间协调安排: 1.上课时认真听课 ...

  5. Linux下编译、安装并启动apache

    安装步骤如下: 1.  首先去http://httpd.apache.org/download.cgi上下载需要的apache源码,然后存放至/usr/local/src下[此源码存放路径可任意指定] ...

  6. django -- url 的 默认值

    在urls.py里可以直接向函数传递默认值,看代码: urls.py from django.conf.urls import url from mytest import views urlpatt ...

  7. nginx-rtmp-module--------------WIKI

    https://github.com/arut/nginx-rtmp-module/wiki/Directives#idle_streams ============================= ...

  8. 网卡流量监控脚本 ( Shell )

    #!/bin/bash # Traffic Monitor # author: Xiao Guaishou get_traffic_info(){ recv=`cat /proc/net/dev | ...

  9. Eclipse将控制台输出信息保存为文件

    当你在Eclipse中 running/debugging一个应用程序的时候,有关该应用程序的运行调试信息及日志信息都会输出到控制台(console )显示,但是Eclipse只会显示最后一部分的日志 ...

  10. 【原】Coursera—Andrew Ng机器学习—Week 8 习题—聚类 和 降维

    [1]无监督算法 [2]聚类 [3]代价函数 [4] [5]K的选择 [6]降维 Answer:本来是 n 维,降维之后变成 k 维(k ≤ n) [7] [8] Answer: 斜率-1 [9] A ...