黑马程序员技术交流社区

标题: 代码疑问 [打印本页]

作者: 实战造就实力    时间: 2014-1-6 19:11
标题: 代码疑问
本帖最后由 实战造就实力 于 2014-1-7 22:43 编辑

请问我这个程序怎么运行时结为:
总路径E:\g
E:\g\2.txt
我:1次
是:1次
中:1次

:2次

:2次
国:1次
人:1次

:2次

:2次
E:\g\3.txt
你:1次
好:1次
啊:1次

:2次

:2次
h:1次
e:1次
l:2次
l:2次
o:1次

:2次

:2次

但是应该没有“:2次

:2次”这个的这是怎么回事啊?
package com.itheima;
/**
* 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如:

    a:  21 次
    b:  15 次
    c:: 15 次
    把:  7 次
    当:  9 次
    前:  3 次
    ,:30 次

*/
import java.io.*;
import java.util.*;
public class Test7 {
        private static PrintStream bwres;
        public static void main(String[] args)throws Exception {
                System.out.println("请输入需要拷贝文件的路径和存储内容的TXT文件的路径请随意写如:“D:\\one.txt”");
                 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                 String lujing=br.readLine();
                 String cunchulujing=br.readLine();
                 File file=new File(cunchulujing);//如果保存TXT文件的路径不存在就创建一个;
                        if (!file.exists()) {
                                file.createNewFile();
                        }
cn(lujing,cunchulujing);
        }
public static void fd(String name, String cunchulujing)throws Exception
{String line=null;
         BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(name)));
         System.out.println(name);
         BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(cunchulujing)));//D:\\one.txt
         StringBuilder sb=new StringBuilder();
        
         while((line=br.readLine())!=null)
         {
         sb.append(line+"\r\n");        
         }
        // bw.write(sb.toString(),0,sb.length());
        // bw.newLine();
        // sb.delete(0, sb.length());
br.close();  

StringBuffer sbres=new StringBuffer("");
char[] a=sb.toString().toCharArray();
for(int i=0;i<a.length;i++){
     int k=0;
     for(int j=0;j<a.length;j++){
         if(a==a[j]) k++;
     }
     if(sbres.toString().indexOf(String.valueOf(a))<0){
    String str=a+":"+k+"次";
     System.out.println(str);
    // sbres.append(str+"\n");

            // String str=String.valueOf(a);
     //   sbres.append(str+"\n");


     }
}
String str=String.valueOf(a);
    sbres.append(str+"\n");
bw.write(sbres.toString());
bw.flush();
bw.close();         ;

}
public static  void cn( String lujing,String cunchulujing) throws Exception
{
        File f=null;        
    File root = new File(lujing);  

    if(! root.exists() && root.isDirectory()){  
        System.out.println("路径有误");  
    }  
    File[] files = root.listFiles();
    System.out.println("总路径"+root.getAbsolutePath());
    for(int i=0;i<files.length;i++)
    {
          f = files;
        //  String name = f.getName();
          String path=f.getAbsolutePath();
         // System.out.println(name);
          if(f.isFile())
          {
                  fd( path,cunchulujing);
          }

    }        
        }
}







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