0
  1. アルファベット順に基づいて .txt ファイル内のすべての文字列コンテンツを並べ替えるにはどうすればよいですか? 例: txt ファイルの内容は次のとおりです。

    1. ジョン
    2. アンナ
    3. アリス

    並べ替え後:

    1. アリス
    2. アンナ
    3. ジョン
  2. すべてのコンテンツをクリアして、空の txt ファイルのみを残すにはどうすればよいですか?
4

3 に答える 3

1
public static void main(String[] args){
    try {
        File file = new File("input.txt")
        List<String> allLines = Files.readAllLines(file.toPath(), Charset.defaultCharset());
        Collections.sort(allLines);

        //For deleting
        file.delete();
        file.createNewFile();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
于 2013-09-29T09:23:41.443 に答える
0


ファイル myFile = null;
BufferedReader br = null;
BufferedWriter bw = null;
文字列 [] name = {
"John"," AnNa","1","AliCe",
"Ammy"," JOey","Alex","0"};

{
myFile = new File("unsorted strings.txt"); を 試してください。
myFile.createNewFile();
bw = new BufferedWriter(new FileWriter(myFile));

for ( int i = 0; i < name.length; i++ ){
bw.write(name[i]);
bw.newLine();
}

bw.close();
br = 新しい BufferedReader(新しい FileReader(myFile));
文字列 temp = "";
int カウンター = 0;

while((temp = br.readLine()) != null){
//temp = temp.trim();

//temp = temp.substring(1,temp.length()).toLowerCase();
//name[カウンター] = fChar + temp;
//カウンター++;

名前[カウンター] = temp;
カウンター++;
}

br.close();

//java.util.Arrays.sort(名前);

java.util.Arrays.sort(name,new java.util.Comparator< String >(){
public int compare(String o1, String o2) {
return o1.trim().toLowerCase().compareTo(o2.trim( .toLowerCase());
}});


myFile = new File("ソートされた文字列.txt");
myFile.createNewFile();
bw = new BufferedWriter(new FileWriter(myFile));


for ( int i = 0; i < name.length; i++ ){
bw.write(name[i]);
bw.newLine();

}


bw.close();


myFile = new File("空のファイル.txt");
myFile.createNewFile();
bw = new BufferedWriter(new FileWriter(myFile));
bw.write("");
bw.close();

}catch (例外 ex) {
ex.printStackTrace();
}

于 2013-10-04T17:08:15.430 に答える
0

例えば

File file = new File("filepathname.txt");
file.delete();
file.creatFile();
于 2013-09-29T09:09:24.670 に答える