java分批处理10万数据txt数据文档

最安全的绿色软件下载基地!
扫码浏览手机端页面
热门搜索:
您的位置:
亿彩文本文件批量处理器 1.0 绿色版
网友评分:9.6 分
软件星级:
软件大小:923KB
软件语言:简体中文
软件分类:文字处理
软件授权:免费软件
更新时间:
软件类别:国产软件
软件官网:/
应用平台:Win All
软件标签:
678KB / 简体中文
424.2M / 简体中文
31KB / 简体中文
1KB / 简体中文
53KB / 简体中文
11.8M / 简体中文
亿彩文本文件批量处理器 1.0 绿色版
高速下载通道:其它下载通道:
有问题? &+&
可能感兴趣的软件
(您的评论需要经过审核才能显示)
共0人参与,0条评论
3.7M / 简体中文 / 1.349.3M / 简体中文 / 6.95.3M / 多国语言[中文] / 6.83.3M / 简体中文 / 6.94M / 简体中文 / 7.338.7M / 简体中文 / 6.886.2M / 简体中文 / 7.8
分类下载排行
01Office 2010破解版 免序列号激活带注册机 简体中文正式版01文字处理 / 791M02Office 2003 SP3 五合一精简版02文字处理 / 105M03方正飞腾排版软件 4.1 官方版03文字处理 / 424.2M04Microsoft Office 2003 SP3 雨林木风四合一精简版04文字处理 / 71M05PPT2010 官方最新版05文字处理 / 60M06office2007精简版 三合一06文字处理 / 86.2M07offic系统兼容包 免费版07文字处理 / 27.5M08Office 2003 sp2 5合1 精简版 build 2007.008文字处理 / 140M09Microsoft Office Enterprise 2007 SP109文字处理 / 755M10Microsoft Office Excel Viewer 2007 简10文字处理 / 51.4M
01Office 2010破解版 免序列号激活带注册机 简体中文正式版01文字处理 / 791M02Microsoft Office Enterprise 2007 SP102文字处理 / 755M03Office 2003 sp2 5合1 精简版 build 2007.003文字处理 / 140M04offic系统兼容包 免费版04文字处理 / 27.5M05Office 2003 SP3 五合一精简版05文字处理 / 105M06方正飞腾排版软件 4.1 官方版06文字处理 / 424.2M07Microsoft Office 2003 SP3 雨林木风四合一精简版07文字处理 / 71M08PPT2010 官方最新版08文字处理 / 60M09office2007精简版 三合一09文字处理 / 86.2M10WPS Office 2012 校园版(8.1.0.3166) 官方安装10文字处理 / 40.8M
热门与关键
微信公众号
微信号:kuhousy
扫描二维码添加
所有软件均来自网络如有版权问题请联系我们 - 浙公网安备 47号 - 浙ICP备号
Copyright & 2004- online services. All rights reserved.
请简要描述您遇到的错误,我们将尽快予以修订C++文件的批处理
每天15篇文章
不仅获得谋生技能
更可以追随信仰
C++文件的批处理
一、统计代码行数
几个星期前做了个统计代码的小程序,对文件的批处理需要获取文件列表,因为是在windows下操作的,所以百度到一个系统调用system(&dir
/a /b && file_list.txt&);
功能就是把当前目录下的所有文件名写到file_list.txt文件中去。这样我就得到了所有的文件名,从而就可以对文件批处理了。对每一个文件的操作就是首先读取文件名,然后就打开文件,接着一行一行的读文件,没读取一行文件就累计代码行数。过程很简单,代码如下:
1 #include &iostream>
2 #include &fstream>
3 #include &cstdlib>
5 using std::
6 using std::
7 using std::
8 using std::
10 int main(int argc, char **argv)
//创建文件名列表文件,若存在则清空文件
fstream file_list("file_list.txt",std::ios::out);
file_list.close();
//写入文件名列表到file_list.txt
system("dir /a /b >> file_list.txt");
long sum_code = 0;
fstream code_
file_list.open("file_list.txt", std::ios::in);
string str_line = "";
string t_str = "";
unsigned int loc = 0;//查找文件名中的"."
string str_last = "";
while (!file_list.eof())
getline(file_list,str_line);
loc = str_line.find(".",0);
cout && "loc = " && loc &&
if (loc != string::npos)
str_last = str_line.substr(loc);
cout && "str_last = " && str_last &&
if (pare(".h") == 0
|| pare(".c") == 0
|| pare(".cpp") == 0)
code_file.open(str_line.c_str(),std::ios::in);
cout && "文件名 : " && str_line &&
//读文件行数
while (!code_file.eof())
getline(code_file,t_str);
cout && t_str &&
sum_code++;
code_file.close();
file_list.close();
cout && "代码行数:" && sum_code &&
system("pause");
二、批量删除文件中的某一行
今天做的修改时有原因的,因为我正在将/reference/做成一个chm文件(供离线查寻的文档)。通过Teleport
Ultra软件获取到网站的代码后,代码有好多是404页面和用户登录页面。这些文件我是通过手工删除的,删除404页面就是根据文件大小来删除的(不会傻到对着一千多个文件一个一个打开查看,毕竟404页面大小是一样的)。删除登录页面是根据文件名的。文件名有new.cgi?或者edit.cgi?等等,是按文件名排序删除的。
然后使用EasyCHM软件开始制作。制作后出现了问题,打开页面预览出现
我郁闷了,我就打开源代码,找到了有这么一行,打开每一文件都这样。
因此,我就想到之前写的代码统计的程序了,然后我就做了个微小的修改把这一行删除掉。在上面的55行的while中加入
if (t_str == "onPrint.print();")
  cout && t_str &&
因为要修改源文件,我就通过一个临时文件来存储修改后的文件,文件修改完成后再将临时文件的内容复制到源文件中,复制文件的代码段:
//复制回来
out_tmp.open("tmp",std::ios::in);
code_file.open(str_line.c_str(),std::ios::out);
while(code_file && out_tmp.get(ch))
code_file.put(ch);
code_file.close();
out_tmp.close();
cout && "修改" && str_line && "完成" &&
三、批量删除文件中的某一代码段
这样对所有文件批处理后又有了新问题,弹出的脚本对话框和上面的类似。这样慢慢删岂不会累死,我能不能把所有的&script&&/&script&都删除掉呢?我就先手动删除一个文件的所有&script&
... &/&script&。然后放到EasyCHM软件中,结果真的好了,不弹出脚本错误对话框了(脚本都没了,何来脚本错误呢?)。这样我就放心了,因为脚本文件删除了不影响htm文件的界面。这样我就开始修改代码了,同样修改读文件那一段代码。
if (t_str.substr(0,7) == "&script")
while (!code_file.eof()
&& t_str != "&/script>"
&& t_str.substr(t_str.size()>9?t_str.size()-9:0) != "&/script>")
cout && t_str &&
getline(code_file,t_str);
cout && t_str &&
getline(code_file,t_str);
这是放在读文件循环中的代码。每次读到一行的头几个字符是&&script&就对接下来的字符处理知道读到&&/script&&。因为我查了所有代码都类似,&&script&在每行的行首,&&/script&&在字符串的末尾后者行首,所以就只是简单的判断了下,没有考虑到一行中既有脚本文件又有非脚本文件的情况:
&script type="text/javascript">google_ad_height = 60;&/script>
&div id="I_midclear">&/div>
&/div>&script type="text/javascript"src="show_ads.js"
tppabs="/pagead/show_ads.js">&/script>
我想也不会有人会把这种代码写成一行吧。接着就测试了一个htm文件,结果可以了,只是有一个bug,运行一次后还残留着&script&
... &/&script&。再运行一次就清理完了。先看有bug的代码:
有bug但是可以完成任务的代码
接下来就是查找bug了,然后在解决bug,记住哦,做这些操作记得备份之前原版的htm文件哦,要不然你弄完后原版的文件没了怎么来找bug,怎么测试啊。关键还是看这里(循环读文件人后再判断的代码段):
fstream out_tmp("tmp",std::ios::out);
//读文件行数
while (!code_file.eof())
getline(code_file,t_str);
if (t_str.substr(0,7) == "&script")
while (!code_file.eof()
&& t_str != "&/script>"
&& t_str.substr(t_str.size()>9?t_str.size()-9:0) != "&/script>")
cout && t_str &&
getline(code_file,t_str);
cout && t_str &&
getline(code_file,t_str);
out_tmp && t_str &&
sum_code++;
code_file.close();
out_tmp.close();
发现了问题,是因为执行了一次删除脚本后,接下来的脚本紧接在其下一行,读取的时候跳过了这一次检查,这样简单啊,只执行一次判定&script&,我把if改成while就可以了
更多课程...&&&
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
|&京ICP备号&京公海网安备号(40分钟前)
(41分钟前)
(42分钟前)
(51分钟前)
近期热词:
36小时点击榜
96908968592853205016429428882166197618051634
72小时热顶榜
3635342118161512977
36小时点击榜
35342223174816341482138713301178114010641007
72小时热顶榜
21161413111110101099
36小时点击榜
1102893722665513304228228209209190
72小时热顶榜
15131288887777
媒体征稿和报道
被采用的文章
被报道的博主
社区帮助中心
网友们是和讯社区的主人,如果有对和讯物业管理的建议或者讲述你与和讯的故事,请在发表文章时投稿到“我与和讯”。
微博使用帮助
友情链接: ┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊┊ ┊┊┊ ┊ ┊┊ ┊ ┊
Copyright&和讯网 北京和讯在线信息咨询服务有限公司 All Rights Reserved 版权所有 复制必究21:27 提问
C#批处理TXT文件(现已可以处理单个文件)求修改方案
现在已经可以完成单个TXT文件的处理(筛选然后输出),但文件数量很大,急需批处理,将所有TXT处理后符合条件的数据全部输出到 同一个 新的TXT文件中。
已完成的代码分为两个部分,一个部分是文件处理的方法,另一部分主要如下。
本人初涉软件(因为没了对象,所以来面向对象了,:)哈哈),所以希望修改方法能详细。
namespace mythirdapp
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void myclickevent(object sender, EventArgs e)
String path = "e:\\2.txt";
/*现在我只会这样处理单个文件,如何做到处理一个文件夹下的所有TXT文件?*/
Class1 myparse1 = new Class1();
myparse1.init(path);
myparse1.normalize();
myparse1.outputabsmax("d:\\output.txt");
//MessageBox.Show(myparse1.pointcount.ToString());
按赞数排序
Directory.GetFiles("c:\你的目录", "*.txt");
类似于这样,加个循环。
string[] files = Directory.GetFiles("*.txt");//路径
foreach (string file in files)
Class1 myparse1 = new Class1();
myparse1.init(path);
myparse1.normalize();
myparse1.outputabsmax("d:\\output.txt");
用注入也是可以的,控制反转,把要写的txt文件地址和名字单写一个地方

我要回帖

更多关于 excel文档批处理工具 的文章

 

随机推荐