java编写程序,从文本文件中去除所有指定的字符串。邮箱282281825@qq.com
例如,调用JavaTestabcfilename从指定文件中去除字符串abc。提示:读入文件的每一行,去除行中出现的所有文本,并将它放入字符串构建器,最后将构建器中的内容...
例如,调用Java Test abc filename
从指定文件中去除字符串abc。
提示:读入文件的每一行,去除行中出现的所有文本,并将它放入字符串构建器,最后将构建器中的内容写入源文件。
下面给个开头,自己写的,不一定对。
import java.io.*;
import java.util.*;
public class Test {
public static void main(String[] args) throws Exception {
if (args.length !=2) {
System.out.println("Usage:java Test string filename");
System.exit(0);
}
File file=new File(args[1]);
if(!file.exists()){
System.out.println("file "+args[1]+"does not exist");
System.exit(0);
}
PS;《Java语言程序设计 基础篇》 作者(美)Y.Daniel Liang 机械工业出版社。第八章课后习题最后一个。有此书答案的发我邮箱,谢谢了。分可以再给。 展开
从指定文件中去除字符串abc。
提示:读入文件的每一行,去除行中出现的所有文本,并将它放入字符串构建器,最后将构建器中的内容写入源文件。
下面给个开头,自己写的,不一定对。
import java.io.*;
import java.util.*;
public class Test {
public static void main(String[] args) throws Exception {
if (args.length !=2) {
System.out.println("Usage:java Test string filename");
System.exit(0);
}
File file=new File(args[1]);
if(!file.exists()){
System.out.println("file "+args[1]+"does not exist");
System.exit(0);
}
PS;《Java语言程序设计 基础篇》 作者(美)Y.Daniel Liang 机械工业出版社。第八章课后习题最后一个。有此书答案的发我邮箱,谢谢了。分可以再给。 展开
4个回答
展开全部
众人给力,lz不哭
import java.io.*;
import java.util.*;
public class TextFileTest
{
public static void main(String[] args)
{
try
{
Scanner in = new Scanner(new FileReader("string.txt"));
String[] a = readData(in);
in.close();
for(int i=0;i<a.length;i++)
{
a[i]=a[i].replaceAll("abc", "");}
PrintWriter out = new PrintWriter("string.txt");
writeData(a,out);
out.close();
}
catch (IOException exception)
{
exception.printStackTrace();
}
}
private static void writeData(String []a, PrintWriter out) throws IOException
{
out.println(a.length);
for (String e : a)
out.println(e);
}
private static String[] readData(Scanner in)
{
int n = in.nextInt();
in.nextLine(); // consume newline
String[] a = new String[n];
for (int i = 0; i < n; i++)
{
a[i]= in.nextLine();
}
return a;
}
}
小小的说明,这里我没有用lz提供给的开头,lz可以自行换接,另外文本的格式是这样的
x
string1
string2
...
第一行的x代表一共有几行string
第二行开始是需要修改的string
这么做是为了方便我直接定义string[]的长度,lz可以自行换成ArrayList[],就不需要在文本第一行加上行数说明了
还有不明白的Hi我,我不一定在就是了
import java.io.*;
import java.util.*;
public class TextFileTest
{
public static void main(String[] args)
{
try
{
Scanner in = new Scanner(new FileReader("string.txt"));
String[] a = readData(in);
in.close();
for(int i=0;i<a.length;i++)
{
a[i]=a[i].replaceAll("abc", "");}
PrintWriter out = new PrintWriter("string.txt");
writeData(a,out);
out.close();
}
catch (IOException exception)
{
exception.printStackTrace();
}
}
private static void writeData(String []a, PrintWriter out) throws IOException
{
out.println(a.length);
for (String e : a)
out.println(e);
}
private static String[] readData(Scanner in)
{
int n = in.nextInt();
in.nextLine(); // consume newline
String[] a = new String[n];
for (int i = 0; i < n; i++)
{
a[i]= in.nextLine();
}
return a;
}
}
小小的说明,这里我没有用lz提供给的开头,lz可以自行换接,另外文本的格式是这样的
x
string1
string2
...
第一行的x代表一共有几行string
第二行开始是需要修改的string
这么做是为了方便我直接定义string[]的长度,lz可以自行换成ArrayList[],就不需要在文本第一行加上行数说明了
还有不明白的Hi我,我不一定在就是了
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用一下subString 和 indexOf 就知道了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
发过去了,希望之翼
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询