黑马程序员技术交流社区

标题: 给大家出个题目,想了半个多钟,还是做错了 (TAT) 求大神... [打印本页]

作者: 新晋猿工    时间: 2016-6-6 09:51
标题: 给大家出个题目,想了半个多钟,还是做错了 (TAT) 求大神...
本帖最后由 新晋猿工 于 2016-6-6 09:53 编辑

有个txt文件,里面大概是这样的:
1号XXX
2号XXXX
3号XXX
4号XXX
5号XX
6号XX
7号XXX
8号XXXX
9号XXX
10号XX
11号XXX
12号XXX
........一直到57号XXX
试下写一个程序把这个txt文件的内容里面的“XX号”给去掉
我用的是BufferedWriter和BufferedReader类的方法复制到一个新txt文件再改,老是爆空指针异常,哎,希望各位大神帮我看看呗。

作者: TS-松子    时间: 2016-6-6 10:21
话说程序在哪里。。。
作者: dreamhunter    时间: 2016-6-6 21:54
板凳,坐等大神
作者: 革命卍    时间: 2016-6-6 22:26
package com.heima.sida;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintStream;

public class Test04 {
        public static void main(String[] args) throws Exception {
                BufferedReader br=new BufferedReader(new FileReader("b.txt"));
                PrintStream ps=new PrintStream("bb.txt");
                while(true){
                        String str=br.readLine();
                        if(str == null){
                                break;
                        }
                        int b=str.indexOf("X");
                        str=str.substring(0, b);
                        ps.println(str);
                }
                br.close();
                ps.close();
        }
}
作者: java小白怕不    时间: 2016-6-6 22:48
坐看 板凳大神不知道对不对, 测试一下
作者: 何亚辉    时间: 2016-6-7 11:45
本帖最后由 何亚辉 于 2016-6-7 11:50 编辑

package com.heima.IO;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Day1_ClassTest2 {
        public static void main(String[] args) throws IOException {
                File f = new File("Student.txt");
                String name = f.getName();
                FileInputStream fis = new FileInputStream(f);
                byte[] b = new byte[1024 * 1024];

                int a;
                String s = null;
                while ((a = fis.read(b)) != -1) {
                        s = new String(b, 0, a);
                }

                s = s.replace("4号:阮清贵"+"\r\n", "");
                File f1 = new File("Student2.txt");
                FileOutputStream fos = new FileOutputStream(f1);

                fos.write(s.getBytes());
                fis.close();
                fos.close();

                System.out.println(f.delete());

                File f2 = new File(name);
                f1.renameTo(f2);

        }

}
作者: 新晋猿工    时间: 2016-6-7 19:39
革命卍 发表于 2016-6-6 22:26
package com.heima.sida;

import java.io.BufferedReader;

这个X并不是“X”的意思,是人名,不同编号人名是不同的,可能我表述不准确,不好意思,还是谢谢你了
作者: 新晋猿工    时间: 2016-6-7 19:45
何亚辉 发表于 2016-6-7 11:45
package com.heima.IO;

import java.io.File;

我想你弄错了我的意思,我是想把文件里面的 “X号” 这个前缀给去掉,不是把他整个删了,但还是谢谢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2