字符串和文本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()方法关闭文件,如果不关闭,数据不能保存在文件中