grep的java源程序_Java实现Grep
Java实现Grep
1.[代码]grep.java
import java.io.*;
public class grep{
public static void main(String [] args) throws IOException{
if(args.length<1){
System.out.println("zu wenige Parameter");
throw new IllegalArgumentException("zu wenig Parameter!");
}
boolean reversed =false;
String pattern;
String sfile ="";
try{
if(args[0].equals("-v")){
reversed = true;
pattern =args[1];
if(args.length>2){
sfile = args[2];
}
}else{
pattern = args[0];
if(args.length==2){
sfile = args[1];
}
}
}catch(IndexOutOfBoundsException ex){
System.out.println("Irgendwas ist beim verarbeiten der Parameter schiefgegangen: " + ex);
return;
}
if (!(sfile.equals(""))){
File myfile;
try{
myfile = new File(sfile);
}catch(NullPointerException ex){
System.out.println("uhhps das sollte nicht passieren: " + ex);
return;
}
BufferedReader myreader;
try{
myreader = new BufferedReader(new FileReader(myfile));
}catch(FileNotFoundException ex){
System.out.println("File Not Found: " + ex);
return;
}
search(myreader, reversed, pattern);
}else{
BufferedReader myreader = new BufferedReader(new InputStreamReader(System.in));
try{
search(myreader, reversed, pattern);
}catch(IOException ex){
System.out.println("IO Fehler: " +ex);
}
}
}
private static void search(BufferedReader myreader, boolean reversed, String pattern) throws IOException{
//System.out.println("Suche nach: " + pattern);
while(myreader.ready()){
String sline = myreader.readLine();
if (reversed){
if(!sline.contains(pattern)){
System.out.println(sline);
}
}else{
if (sline.contains(pattern)){
System.out.println(sline);
}
}
}
}
}
grep的java源程序_Java实现Grep相关推荐
- 创建java源程序_java – 如何从源代码构建Mojarra
自2017年1月16日起,您可以使用以下步骤构建Mojarra: 注意:构建Mojarra需要在系统上安装ant和maven.它还要求您使用正确的JDK版本: >对于Mojarra 2.3.x, ...
- ps -ef grep java解释,ps -ef | grep java(示例代码)
ps命令将某个进程显示出来 grep命令是查找 中间的|是管道命令 是指ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找,是一种强大的文本搜索工具, ...
- 描述java源程序构成_Java第二章Java程序设计
<Java第二章Java程序设计>由会员分享,可在线阅读,更多相关<Java第二章Java程序设计(140页珍藏版)>请在人人文库网上搜索. 1.第2章 Java基本语法,2. ...
- java源程序可以有几个主类_Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。_学小易找答案...
[填空题]分析以下程序的执行结果 #include using namespace std; class Sample { int x; int y; public: Sample(int a,int ...
- java源程序中区分大小写_Java程序中不区分大小写字母。( )_学小易找答案
[单选题]下列选项中,不属于Java语言特点的一项是( ) [单选题]丝绸时髦了,人造纤维过时了. [单选题]<葛生>出自<诗经>的: [多选题]keyshot渲染的光源是利用 ...
- java源程序编译型_Java语言的源程序不是编译型的,而是编译解释型的。( )_学小易找答案...
[单选题]下列选项中,不属于Java语言特点的一项是( ). [单选题]贺铸<半死桐>(重过阊门万事非)悼念其妻病逝于: [判断题]Java语言具有较好的安全性和可移植性及与平台无关等特性 ...
- java源程序分为两大类_java源程序分为两大类
答案:D 您的答案:D 题目分数:2.0 此题得分:2.0 13.第 19 题 Java Application 源程序的主类是指包含有( )方法的类 A.main 方法 B.toString 方法 ...
- java程序_Java程序员必备----Java命令大全
1.java.exe: ====================== 运行java程序,这个相信每一位用Java的人知道了.2.javac.exe: ====================== 编译 ...
- java堆栈_java线程的堆栈跟踪之jstack篇
该命令打印java线程的堆栈跟踪,可以得知哪些线程被阻塞或正等待,以便于查找如线程死锁的原因 用法: jstack [ option ] pid jstack [ option ] executabl ...
最新文章
- mysql数据库基本操作练习
- 基础的互联网连接词汇—Vecloud微云
- ABP Framework 5.0 RC.1 新特性和变更说明
- MySQL索引类型总结和使用技巧以及注意事项
- php的process_field,使用Boost :: Process运行php命令
- Python 画数学函数图像 matplotlib.pyplot
- Android Studio Prettify 插件
- 应用java编写 按键小脚本_一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码) | 学步园...
- NumberFormat
- 【黑苹果】宏基Acer Predator Helios 300+ i7-7700HQ+Opencore +MacOS10.14.6 efi文件下载!
- wow 卡正在连接服务器,魔兽世界怀旧服卡蓝条服务器无法连接解决办法
- openstack删除僵尸卷
- 会议记录管理系统(6) - 查找会议记录模块设计
- android svg路径动画,五、Android SVG动画
- 万亿蚂蚁的高光与隐忧
- Spring Cloud入门-Admin服务监控中心(Hoxton版本),java高级编程技术
- Arduino与无源蜂鸣器
- 51xunji双PWM 002 蓝牙 L9110电机驱动
- 一位平安集团16年老员工:怕你胸有鸿鹄之志,手无缚鸡之力
- 高分区Localdimming方案研讨
热门文章
- codelite14中文语言包_CodeLite(C++跨平台开发环境) V 11.0.1 中文版
- RabbitMq org.springframework.amqp.AmqpIOException: java.io.IOException
- 游戏里的角色都什么格式图片_二十年前是怎样开发游戏的?
- jarjar.jar解决jar包版本兼容问题
- SpirngBoot整合MyBatis出现“SAXParseException”和“文件提前结束”异常解决办法
- JavaScript学习笔记07【6个经典案例——电灯开关、轮播图、自动跳转首页、动态表格、表格全选、表单验证】
- 软件工程概论 课堂练习 第2次作业1【思考:POS系统的对象关联】
- Matlab图像处理创新实践-实验2【图像滤波基础(2)】
- Android复习03(Get请求访问网络[详解]、获取文章列表)
- CentOS 初体验二十三:redis常用命令:List