[Java] 纯文本查看 复制代码
package com.itheima;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
/**
* 6、已知文件a.txt文件中的内容为“bcdeadferwplkou”,
* 请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。
* 即b.txt中的文件内容应为“abcd…………..”这样的顺序。
* @author xujiankai
*
*/
public class Test6 {
public static void main(String[] args) {
//定义输入流和输出流
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("a.txt");
out = new FileOutputStream("b.txt");
} catch (FileNotFoundException e) {
System.out.println("文件未找到或创建失败!");
}
//定义字节数组,用于存储输入流读取的数据
byte[] byteArray = new byte[1024];
//定义长度len,用于存储输入流读取的数据长度
int len = 0;
//循环读取数据并存入到字节数组中
try {
while((len = in.read(byteArray))!=-1){
/*
* 将字节数组中的内容排序。由于此题数据量较小 故一次就可全部读取完,若数据量过大可将读取的内容
* 通过该String(byte[] bytes, int offset, int length) 全部转换成
* String字符串存储,连接后再转换成char数组进行排序
*/
Arrays.sort(byteArray,0,len);
//将读取的内容输出到文件b.txt中
out.write(byteArray,0,len);
}
} catch (IOException e) {
System.out.println("文件读取或写入失败!");
}
//关流
try {
in.close();
out.close();
} catch (IOException e) {
System.out.println("输入或输出流关闭失败!");
}
}
}