import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Comparator;
import java.util.TreeSet;
import java.util.Set;
public class Test {
/**
* 已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。
* 即b.txt中的文件内容应为“abcd…………..”这样的顺序。
* @throws IOException
*/
/*创建一个带缓冲的输入流对象,读取a.txt的内容
* 创建一个Set对象存储读取出的文件
*定义一个比较器对Set里的内容进行排序
*遍历Set将内容写入到b.txt中
*/
public static void main(String[] args) throws IOException {
Set<Integer> set = new TreeSet<Integer>(new MyComparator());
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("a.txt"));
int b;
while((b = bis.read()) != -1)
set.add(b);
bis.close();
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.txt"));
for (Integer i : set) {
bos.write(i);
}
bos.close();
}
}
class MyComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
int x = o1 - o2;
return x != 0 ? x : 1;
}
}
|