C#实现文本文件字符过滤

本人初学C#,最近才接触数组、流,编写了一个小程序。几乎没实用价值,只用来记录自己所学。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.IO;
 6 namespace namespace1   //命名空间
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             FileStream file = File.Open("F:/filename.txt"/*初始文件路径*/, FileMode.Open, FileAccess.Read);//打开初始文件
13             FileStream file2 = File.Open("F:/filename2.txt"/*过滤后文件*/, FileMode.Create, FileAccess.Write);//创建处理后的文件
14             file2.Close();//关闭file2文件流
15             byte[] array = new byte[file.Length];//初始化字节数组
16             file.Read(array, 0, array.Length);//读取流中的数据并把它写入字节数组中
17             file.Close();   //关闭file1文件流
18             string str = Encoding.Default.GetString(array);  //将字节数组转化为字符串
19             char[] ch = str.ToCharArray();  //将字符串转化为字符数组
20             string str1 = "";
21             foreach (char c in ch)  //遍历ch
22             {
23                 if ((c != ‘1‘) & (c != ‘2‘) & (c != ‘3‘) & (c != ‘4‘) & (c != ‘5‘) & (c != ‘6‘) & (c != ‘7‘) & (c != ‘8‘) & (c != ‘9‘) & (c != ‘0‘))
24                 //判断字符不等于数字,可根据实际情况更改过滤条件
25                 {
26                     str1 = str1 + c.ToString();//字符串拼接
27                 }
28             }
29             string fullPath = "F:/filename2.txt";                                  //将字符串写入文件
30             if (System.IO.File.Exists(fullPath))
31             {
32                 using (StreamWriter sw = new StreamWriter(fullPath, false, Encoding.Default))
33                 {
34                    sw.WriteLine(str1);
35                 }
36             }
37         }
38     }
39 }

时间: 2024-08-29 00:28:20

C#实现文本文件字符过滤的相关文章

华为上机练习题--重复字符过滤

题目: 请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉. 比如字符串"abacacde"过滤结果为"abcde". 示例 输入:"deefd"        输出:"def" 输入:"afafafaf"     输出:"af" 输入:"pppppppp"     输出:"p" 分析: 看到这种类似的相同字符过滤,使

某游戏研究之字符过滤类-WorldFilter

所谓字符过滤器,常常用在聊天的内容,比如一连串的骂人难听的话,我们要屏蔽掉,避免造成不好的东西! 当然我作为中华天朝一个有文明有素质的人,肯定偶尔会做这样的事情啦,特别是打LOL的时候,算了不讲了,都是泪啊. 我们来看看这款游戏字符过滤是怎么实现的,结合我上节讲到的单例类,因为字符过滤类当然是个单例类. public class WordFilter : Singleton<WordFilter> { private string[] m_StringFilters; private Dict

华为-on练习--重复的字符过滤

称号: 请写一个字符串过滤程序,如果使用多个相同的字符出现在字符串中,字符首次出现在非过滤,. 比方字符串"abacacde"过滤结果为"abcde". 演示样例 输入:"deefd"        输出:"def" 输入:"afafafaf"     输出:"af" 输入:"pppppppp"     输出:"p" 分析: 看到这样的类似的同样字

java 非法字符过滤 , 半角/全角替换

java 非法字符过滤 , 半角/全角替换 package mjorcen.netty.test1; import java.io.UnsupportedEncodingException; public class CharByteConverter { /** * 全角转半角 * * @param str * @return * * @author mjorcen * @email [email protected] * @dateTime Sep 27, 2014 2:51:50 PM *

【异常处理】Incorrect string value: &#39;\xF0\x90\x8D\x83...&#39; for column... Emoji表情字符过滤的Java实现

Emoji表情字符现在在APP已经广泛支持了.但是Mysql的UTF8编码对Emoji字符的支持却不是那么好.所以我们经常会遇到这样的异常: Incorrect string value: '\xF0\x90\x8D\x83...' for column 原因是Mysql里UTF8编码最多只能支持3个字节,而Emoji表情字符使用的UTF8编码,很多都是4个字节,有些甚至是6个字节. 解决的方案有两种: 1.使用utf8mb4的mysql编码来容纳这些字符. 2.过滤掉这些特殊的表情字符. 关于

java web过滤器实际应用(解决中文乱码 html标签转义功能 敏感字符过滤功能)

转载地址:http://www.cnblogs.com/xdp-gacl/p/3952405.html 在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可以使用Decorator(装饰器)模式对request.response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求. 一.Decorator设计模式 1.1.Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强: 编写子类,覆盖需增强的

Android 简单统计文本文件字符数、单词数、行数Demo

做的demo是统计文本文件的字符数.单词数.行数的,首先呢,我们必须要有一个文本文件.所以我们要么创建一个文本文件,并保存,然后再解析:要么就提前把文本文件先放到模拟器上,然后检索到文本名再进行解析.我感觉第二种方法不可行,因为要测试时,肯定要多次测试,每次还要找到文件再修改文件内容,过于麻烦.所以我用的第一种方法,文件内容更改后直接保存即可. 首先是 页面布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res

C++ 敏感字符过滤

WordNode.h #ifndef __TOOLS_WORDNODE_H_INCLUDE__ #define __TOOLS_WORDNODE_H_INCLUDE__ #include <map> class CWordNode { typedef std::map<std::string, CWordNode*> umap; public: CWordNode(const std::string& word) { Reset(word); } ~CWordNode()

xml 标准字符过滤

今天在代码里面看见一串很奇怪的判断语句 if (c < 0x9 || c > 0x9 && c < 0xA || c > 0xA && c < 0xD || c > 0xD && c < 0x20 || c > 0xD7FF && c < 0xE000 || c > 0xFFFD) 于是用0xE000和0xFFFD 搜索了一下,发现原来xml还有这些限制. 根据xml spec ht