2

Javaを使用してアルファベット順に並べ替える必要のある単語のリストを含むテキストファイルがあります。単語は別々の行にあります。

これについてはどうすればよいですか、それらを配列リストに読み込んでから並べ替えますか?

4

3 に答える 3

7

これは単純な4ステップのプロセスであり、Stackoverflowの質問で対処される4つのステップのうち3つが含まれます。

  1. 各行を読み、Java文字列に変換します
  2. 各Java文字列を配列に格納します(この文字列の参照は必要ないと思います)。
  3. 配列を並べ替える
  4. 配列内の各Java文字列を書き出します
于 2013-03-27T00:31:35.230 に答える
0
import java.io.*;
import java.util.*;

public class example
{
    TreeSet<String> tree=new TreeSet<String>();
    public static void main(String args[])
    {
        new example().go();
    }
    public void go()

    {
        getlist();
        System.out.println(tree);

    }
     void getlist()
    {
        try
        {
            File myfile= new File("C:/Users/Rajat/Desktop/me.txt");
            BufferedReader reader=new BufferedReader(new FileReader(myfile));
            String line=null;
            while((line=reader.readLine())!=null){
                addnames(line);


            }
        reader.close();
        }

        catch(Exception ex)
        {
            ex.printStackTrace();
        }

    }
    void addnames(String a)
    {
           tree.add(a);
           for(int i=1;i<=a.length();i++)
           {

           }
    }
}
于 2013-07-12T07:50:15.373 に答える
0

コレクションの並べ替えを使用した例を次に示します。

public static void sortFile() throws IOException
{     
    FileReader fileReader = new FileReader("C:\\words.txt");
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    List<String> lines = new ArrayList<String>();
    String line = null;
    while ((line = bufferedReader.readLine()) != null) {
        lines.add(line);
    }
    bufferedReader.close();

    Collections.sort(lines, Collator.getInstance());

    FileWriter writer = new FileWriter("C:\\wordsnew.txt"); 
    for(String str: lines) {
      writer.write(str + "\r\n");
    }
    writer.close();
}

次のように独自の照合を使用することもできます。

Locale lithuanian = new Locale("lt_LT");
Collator lithuanianCollator = Collator.getInstance(lithuanian);
于 2015-04-15T16:11:37.293 に答える