本帖最后由 实战造就实力 于 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);
}
}
}
}
|