各位能帮小弟这个忙不,java代码,或者思路都可以,希望能得到用java写的提取一般文件比如txt的,从中提取里面的中文,谢谢了

解决方案 »

  1.   

    先从文件中度出来所有的内容放在字符串中
    然后用正则去掉不是中文的字符就可以了
    如这样str.replaceAll([^\u4E00-\u9FA5],"")
      

  2.   


    package IO;import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.Reader;
    /**
     * 
     *用read和write实现文件的写入和读取(字符的写入和读取)
     *
     */
    public class ReadAndWrite {
        //定义文件的路径,一边写入和读取使用
        String path="e:\\abc.txt";
        
        public static void main(String[] args) {
            ReadAndWrite r=new ReadAndWrite ();
            r.writeFile("我乃邪恶少年是也!");
            r.readFile();
        }
        private void readFile() {
            // TODO Auto-generated method stub
            try {
                Reader r=new BufferedReader (new FileReader(path));
                String test="";
                int temp=0;
                try {
                    while ((temp=r.read())!=-1) {
                        test+=(char)temp;
                    }
                    System.out.println(test);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        private void writeFile(String content) {
            // TODO Auto-generated method stub
            File f=new File (path);
            if (f.exists()==false) {
                try {
                    f.createNewFile();
                    FileWriter fw=new FileWriter (f);
                    fw.write(content);
                    fw.flush();
                    fw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }else {
                System.out.println(path+"已存在,写入失败,源文件是");
            }
        }
    }
      

  3.   

    首先谢谢viszl【4楼】了,你说的是一种方法,这个我也想到了,看看还有没有其他的方法!
      

  4.   


    package IO;import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    /**
     * test.getBytes("iso8859-1"))
     * 用OutputStream和InputStream实现文件的写入和读取(字节的写入和读取)
     *
     */
    public class InAndOut {
        String path="e:\\abc.txt";
        public static void main(String[] args) {
            InAndOut io=new InAndOut ();
            io.write("我是邪恶少年!");
            io.read();
        }
        public void write(String content)
        {
            File f=new File (path);
            boolean add=true;//是否写入
            try {
                if (f.exists()==false) {
                    f.createNewFile();
                    FileOutputStream os=new FileOutputStream (f);//不用判断是否写入
                    //FileOutputStream os=new FileOutputStream (f,add);//要判断是否写入
                    os.write(content.getBytes());
                    os.flush();
                    os.close();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        public void read()
        {
            try {
                InputStream is=new FileInputStream(path);
                //BufferedInputStream bis=new BufferedInputStream(new FileInputStream(path));
                int temp=0;
                String test="";
                try {
                    while ((temp=is.read())!=-1) {
                        test+=(char)temp;
                    }
                    System.out.println(new String (test.getBytes("iso8859-1")));//会出现乱码
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }