------- android培训、java培训、期待与您交流! ---------
黑马程序员-----javaIO读取文件排序后存入另一文件操作
/*
已知文件a.txt文件中的内容为“bcdeadferwplkou”,
请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。
即b.txt中的文件内容应为“abcd…………..”这样的顺序。
步骤:
1,创建一读取文件流关联a.txt文件,
2,对文件内容进行自然顺序排序后存入char[]。
3,创建写入流关联b.txt文件。
4,关闭流资源。
import java.io.*;
import java.util.*;
class Test
{
public static void main(String[] args) throws Exception
{
/*
BufferedReader bufr = new BufferedReader(new FileReader("a.txt"));//创建加缓冲的读取流关联a.txt文件。
String line = bufr.readLine();//定义字符变量存储一行BufferedReader对象内容
char[] arr = line.toCharArray();//将字符串转换数组
Arrays.sort(arr);//将数组排序
BufferedWriter bufw = new BufferedWriter(new FileWriter("b.txt"));//创建写入流关联b.txt
bufw.write(arr);//写入操作
bufw.close();
bufr.close();
*/
writeFile();
}
public static void writeFile()throws Exception
{
FileReader fr = new FileReader("a.txt");//创建文件读取流关联文件
CharArrayWriter chw = new CharArrayWriter();//此类实现一个可用作字符输入流的字符缓冲区
int ch = 0;
while((ch=fr.read())!=-1)//遍历
{
if(ch=='\r' || ch=='\n')
continue;
chw.write(ch);
}
char[] arr = chw.toCharArray();
Arrays.sort(arr);
FileWriter fw = new FileWriter("b.txt");
fw.write(arr);
fr.close();
fw.close();
}
}
------- android培训、java培训、期待与您交流! --------- |