日期:2014-05-20  浏览次数:20849 次

java如何按顺序排序后写一个文件
已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。




------最佳解决方案--------------------
有点偷懒

public static void main(String[] args) {
FileReader fr = null;
FileWriter fw = null;
try {
fr = new FileReader("d:/a.txt");
fw = new FileWriter("d:/b.txt");
char[] buf = new char[1024];
int len = 0;
while ((len = fr.read(buf)) != -1) {
//由于楼主给的字符有限
//所以循环一次就可以了,直接就在这里排序了
StringBuffer sb = new StringBuffer();
for(int i=0;i<len;i++){
sb.append(buf[i]);
}
String b =sb.toString();
System.out.println(b.toString());
// String b="wnadsmdjsa";         
char[] c=b.toCharArray();
Arrays.sort(c);
fw.write(c,0,len);

}

} catch (IOException e) {
System.out.println(e.toString());
} finally {
try {
if (fw != null)
fw.close();
} catch (IOException e) {
System.out.println(e.toString());
}
try {
if (fr != null)
fr.close();
} catch (IOException e) {
System.out.println(e.toString());
}
}
}

------其他解决方案--------------------
用String读进去再转换成char[],然后对这个数组进行排序
------其他解决方案--------------------

String b="wnadsmdjsa";
char[] c=b.toCharArray();
Arrays.sort(c);
System.out.println(c);

结果aaddjmnssw