从键盘输入一些列字母,储存在文件夹中,对其进行升序排列后,存在另一个文件夹中,并显示在屏幕上。怎么实现?

解决方案 »

  1.   

    我是初学者,我来占个座等高手来解答
    顺便我说说我的想法
    我觉得应该 先把所有的文件名转化成统一的格式,比如大写或者小写,并比较每个文件夹的头字母的ASIIC码
      

  2.   

    这是我写的代码,楼主可以看看
    import java.io.*;
    import java.util.*;
    public class wrenwren {
    static File f=new File("d:\\test.txt");
    static File f2=new File("d:\\test2.txt");
    public static void main(String args[])   throws   Exception
        {
            Scanner cs = new Scanner(System.in);
            System.out.println("输入:");
            String a="";
            StringBuffer n =new StringBuffer();
            while(cs.hasNextLine()){
             a=cs.nextLine();
             writer(f,a);
             System.out.println(reader(f));
             char[] c=new char[1000];
             for(int i=0;i<a.length();i++){
             c[i]=a.charAt(i);
             }
             for(int j=0;j<a.length();j++){
             for(int k=j;k<a.length();k++){
             if(c[j]>c[k]){
             char b=c[j];
             c[j]=c[k];
             c[k]=b;
             }
             }
             }
             for(int m=0;m<a.length();m++){
             n.append(c[m]);
             }
             String s=String.valueOf(n);
             writer(f2,s);
             System.out.println(reader(f2));
            } 
        }
    public static void writer(File fd,String a){
    try {
    FileWriter w=new FileWriter(fd);
    w.write(a);
    w.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    public static String reader(File f){
    String s="";
    try {
    BufferedReader b=new BufferedReader(new FileReader(f));
    try {
    s = b.readLine();
    } catch (IOException e) {
    e.printStackTrace();
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    return s;
    }
    }
      

  3.   

    这是在我这边调试的结果
    输入:
    dqwertyuioplkmjnhbgvfcxsza
    dqwertyuioplkmjnhbgvfcxsza//输出第一个文件中的内容
    abcdefghijklmnopqrstuvwxyz//输出第二个文件中的内容,也就是排序过后的内容
      

  4.   


    import java.util.*;
    import java.io.*;
    class Test
    {
    public static void main(String args[]) throws Exception
    {
    Scanner scanner = new Scanner(System.in);
    String tmpText = "";
    String finalText = "";
    String resultText = "";
    File oriFile = null;
    File sortedFile = null;
    oriFile = new File("原始.txt");
    sortedFile = new File("排序.txt");

    if(!oriFile.exists()) oriFile.createNewFile();
    if(!sortedFile.exists()) sortedFile.createNewFile();

    FileOutputStream oriops = new FileOutputStream(oriFile,true);
    FileOutputStream sortedops = new FileOutputStream(sortedFile,true); 
    PrintWriter oripw = new PrintWriter(oriops,true);
    PrintWriter sortedpw = new PrintWriter(sortedops,true);

    System.out.println("请输入您想要存入文件的字母,以\"*\"结束:");


    //输入"*"结束字符的输入
    while(!(tmpText = scanner.nextLine()).endsWith("*"))
    {
    finalText += tmpText;
    }
    finalText += tmpText.substring(0,tmpText.indexOf("*"));
    oripw.println(finalText);
    System.out.println("原始数据-》\n"+finalText);
    char[] tmpChars = finalText.toCharArray();
    Arrays.sort(tmpChars);
    sortedpw.println(tmpChars);
    oripw.close();
    sortedpw.close();
    System.out.println("排序后数据-》\n"+new String(tmpChars));


    }
    }
    aaa,来迟了点
      

  5.   

    用流可以进行文件读写操作,但是楼上那排序...有个TreeSet,让它实现Comparator接口,里面可以自定义比较方法,用这个过滤,默认就是升序的
      

  6.   

    import java.util.*;
    import java.io.*;
    public class Ex6_7test 
    {
    public static void main(String arg[])throws IOException
    {

    byte letter[]=new byte[10];
    System.out.println("输入10个字母:");
    System.in.read(letter);
    System.out.println("原始字符串:");
    for(int i=0;i<10;i++)
    System.out.print((char)letter[i]);
    FileOutputStream fileOut=new FileOutputStream("c:\\abc.txt");
    fileOut.write(letter,0,10);
    Arrays.sort(letter);
    System.out.println('\n'+"处理后:");
    for(int j=0;j<10;j++)
    {
    System.out.print((char)letter[j]);
    }
    FileOutputStream Out=new FileOutputStream("c:\\newabc.txt");
    Out.write(letter,0,10);
    }}
    各位高手,这是小弟自己写的程序,请指点。