黑马程序员技术交流社区
标题:
这道题做的有点费劲啊。。。
[打印本页]
作者:
木子小四
时间:
2016-4-13 18:58
标题:
这道题做的有点费劲啊。。。
需求:
已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。
=================================================
package com.heima.test_kaoshi;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Comparator;
import java.util.TreeSet;
public class Test11 {
/**
* 5、 已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,
* 并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。
*
* 分析:
* 创建输入流,读取文件内容
* 将字符串内容通过,TreeSet实现
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//创建输入流
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
String line;
while ((line = br.readLine())!=null){
String s = line;
//创建集合对象
TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>(){
@Override
public int compare(Character c1, Character c2) {
int num = c1.compareTo(c2);
return num == 0?1:num;
}
});
for (int i = 0; i < s.length(); i++) {
ts.add(s.charAt(i));
}
//创建输出流
BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
for (Character c : ts) {
System.out.print(c);
bw.write(c);
}
System.out.println();
bw.close();
}
br.close();
System.out.println("好了");
}
public static void demo() {
TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>(){
@Override
public int compare(Character c1, Character c2) {
int num = c1.compareTo(c2);
return num == 0?1:num;
}
});
String s = "bcdeadferwplkou";
for (int i = 0; i < s.length(); i++) {
ts.add(s.charAt(i));
}
System.out.println(ts);
}
}
复制代码
作者:
wx_Zdt18Ww6
时间:
2016-4-13 19:15
你下面抽离的方法不直接用 又写了一遍代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2