none
新手求教文本数据处理,输出筛选的数据 RRS feed

  • 问题

  • 文本数据格式为

    频道号或者节目票号,智能卡号,收藏类型,添加收藏时间,生成时间,节目名称,收藏ID

    71630809,700086697570,VOD,2012-02-25 11:43:25,2012-02-25 11:43:25,翻仔和纯纯04(高清),23059098

    71988821,700083392266,VOD,2012-02-26 15:27:56,2012-02-26 15:27:56,海贼王:513蠢蠢欲动的海贼们!惊天动地的新世界,23102901

    想选出所有智能卡号一样的记录,输出该条信息。

    求教为什么总是显示OutputYMS(string filename, string s1)中 string s1有问题?

    代码如下:

    using System;  
    using System.IO;

    using System.Text;
    using System.Linq;

    namespace 台数据信息查询 
    {
        class Program
        {
            private static string[] arr1;
            private static string[] arr2;
        
            
            private static bool IsSameNumber(ref string s1, ref string s2)
            {
                arr1=s1.Split(',');//字符串以逗号分开
                arr2=s2.Split(',');
                s1=arr1[1];
                s2=arr2[1];
                
                if(arr1[1]==arr2[1])
                    return true;
                else return false;
            }
            
             
            private static void OutputYMS(string filename, string s1)
            {
                
                Console.WriteLine("{0}\t{1}",filename, string s1);
            }
                 
            static void Main(string[] args)  
            {
                string line1,line2;
                int i,S;
                i=S=0;
                StreamReader sr;
                string s1;
                
                
                Console.WriteLine("请输入路径: ");
                string path=Console.ReadLine().ToString();
                Console.WriteLine(); 
                
                DirectoryInfo dirInfo=new DirectoryInfo(path);
                if(dirInfo.Exists)
                {
                    
                    Console.WriteLine("文件名"+"\t"+"统计记录");
                    
                    FileInfo[] files=dirInfo.GetFiles();
                    foreach(FileInfo file in files)
                    {
                        sr=new StreamReader(file.FullName);
                        while((line2=sr.ReadLine())!=null&&(line1=sr.ReadLine())!=null)//一次读两行
                        {
                            if(IsSameNumber(ref line1,ref line2))
                            {
                                i++;
                                s1=Convert.ToString(line1);//转换并相减
                                continue;
                            }
                            else continue;
                        }
                        if(i==0)
                        {
                            Console.WriteLine("没有连续两行一样");
                            break;
                        }
                        else OutputYMS(Path.GetFileNameWithoutExtension(file.FullName), new s1());
                    }
                }
                else Console.WriteLine("未找到文件,请检查路径是否正确!");
                
                Console.ReadKey(true);
            }
        }
    }

    2013年11月14日 8:40

答案

  • 你好:

    欢迎来到MSDN中文论坛。

    你的意思是在编译的时候下面的代码有问题是吧?

    private static void OutputYMS(string filename, string s1)
             {
                 
                 Console.WriteLine("{0}\t{1}",filename, string s1);
             }

    应该把第三个参数中的string去掉:

    private static void OutputYMS(string filename, string s1)
            {
    
                Console.WriteLine("{0}\t{1}", filename, s1);
            }

    把这些记录信息存储在一个文本里面不是一个好的方法,很难对里面的数据进行分析。建议存储在数据库中,或者存储在xml这样的格式化的文件中,这样对数据的增删改查就方便多了。

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2013年11月15日 5:51
    版主