java编程: 1.用递归方法编写:用java语言写! 输出如下所示: 1 1 2 1 1 2 3 2 1 的代码帮我写下!

如题所述

删除不好做,因为你是一个文件内容的删除。
可以用字符串数组来保存每一行的值,删除了之后,再重新保存进去。
可以这样做:比如说你的文件路径:c:/a.txt
1.File file = new File("c:/a.txt");
2.BufferedReader reader = new BufferedReader(file);
3.byte[] strValue = new byte[(int)file.length()];
4.String str = reader.read(strValue);//按文件大小一次读入
5.String rows = str.split("\r\n");//按换行符拆分,即数组的每一条,对应文件每一行的内容。
6.如果要删除按条件删除某一行,只需要判断字符串数组是否存在这一行了,如果存在,替换为逗地即可。
7.Writer writer = new FileWriter(file);
8.
for(int i=0;i<rows.length;i++){
writer.write(rows[i]);
}

只是分析了一下,具体步骤还是你来完成了。。

RandomAccessFile raf = new RandomAccess("wenjian.txt");
char ch[] = new char[3];
char to[] = {'s','s','x'};
boolean get = false;
while(get){
raf.readChars(ch);
if(ch[0]=='d' && ch[1]=='d' && ch[2]=='s'){
get = true;
}
}
raf.seek(raf.getFilePointer() -6 );
raf.writeChars(to);

这个代码就是把wenjian.txt中出现的第一个dds修改成ssx。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-19
package BaseExec;

public class PrintNum {

public static void main(String[] args) {
// TODO Auto-generated method stub
print(1);
}

public static void print(int i){
if(i == 4){
return;
}else{
for(int j = 1; j <= i; j++){
System.out.print(j);
}
for(int k = i -1;k>=1; k--){
System.out.print(k);
}
}
print(i + 1);
}

}
相似回答