欢迎来到我的博客

字符串和文本IO 实验操作

一、实验目的

1.掌握Java语言中对字符串的处理方法,能编写字符串处理的程序;

2.理解对Java语言文本读写的处理方法,能编写简单的文本处理和读写程序。

二,编写名为DeleteText的类,删除文本文件中的字符串,文件名和字符串作为命令行参数传递如下:

1. java DeleteText <源文件> <目标文件> <字符串>。

2.相关知识

所谓命令行参数,说白了其实就是在编译好之后,运行程序时需要带入参数,例如:
java calssName 参数1 参数2……
这里其实我们输入的参数存储在args[0],args[1],args[2]……中,即:
java className args[0] args[1] args[2]……

三 相应的步骤和代码如下:

1.源代码

package work6;
/*功能:文本刪除
*输入4个参数:源文件(source_file)、目标文件(target_file)、需要改的字符串(old_string)、输入一个口的字符串就
*可以达到删除指定字符串的目的
*注:源文件是需要被改的文件,目标文件是替换结束后用于存储新文本的文件
*输出:目标文件(target_file)
*2021
*/
import java.io.File;//引入File类
import java.io.PrintWriter;//引入PrintWriter类,用于写数据入文件
import java.util.Scanner;//引入Scanner类,用于从文件读数据

class DeleteText{
	public static void main(String[] args) throws Exception{
		//输入的四个参数存储在数组arg[]中
		File source_file = new File(args[0]);
		//System.out.println(args[0]);
		//检测原文件是否存在
		if (!source_file.exists()) {
			System.out.println("源文件"+args[0]+"不存在");
			System.exit(0);
		}
		File target_file = new File(args[1]);//第二个参数
		//检测目标文件是否已经存在
		if (target_file.exists()) {
			System.out.println("目标文件"+args[1]+"已经存在");
			System.exit(0);
		}
		//读和写对象
		Scanner input = new Scanner(source_file);//读取源文件对象
		PrintWriter output = new PrintWriter(target_file);//写入目标文件的对象
		while(input.hasNext()){//判断是否还有可读的内容
			String str1 = input.nextLine();//读取源文件的内容
			String str2 = str1.replaceAll(args[2],args[3]);//把文本中的所有的第三个参数替换成第四个参数
			output.println(str2);//替换后的新的文内容写入到目标文件
		}
		input.close();//.close()方法关闭文件,释放被文件占用的资源
		output.close();//.close()方法关闭文件,如果不关闭,数据不能保存在文件中 

2.步骤:其中源文件要存在,并且在当前文件夹下:

3.源文件内容:

4.通过命令传递参数

4.运行之后的结果

5.目标文件里面的内容

四 实验参考资料

1.《Java语言程序设计:基础篇》(美)Y.Daniel Liang 著,王镁、新夫、李娜 等译,机械工业出版社,2006年8月第一版。

2.《Java程序设计教程(上册):基础篇》(美)Harvey M.Deitel Paul J.Deitel 著,袁兆山、刘宗田、苗沛荣 等译,机械工业出版社,2004年7月第一版。

posted @ 2021-01-18 15:08  XieYingpeng  阅读(130)  评论(0编辑  收藏  举报