package com.myh.test;
import org.omg.CORBA.WCharSeqHelper;
import java.io.*;
import java.net.Socket;
import java.util.Arrays;
/**
* 已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl”
* 请编写程序读取数据内容,把数据排序后写入ss.txt中。
* bufferedreader和fileReader的区别
* FileReader不能一行一行的读,BufferReader可以一行一行的读
* BufferReader 可以一行一行读取效率高,因为减少了io的次数
*/
public class Test {
public static void main(String[] args) throws IOException {
FileReader fileReader = new FileReader("homework\\s.txt");//封装数据源
FileWriter fileWriter = new FileWriter("homework\\ss.txt");//封装目的地
System.out.println(fileReader.getClass());
//读写数据
int chars;//chars代表的是字符对应的ASSII码
while((chars=fileReader.read())!=-1){
System.out.println("chars:"+chars);
fileWriter.write(chars);
}
//释放资源
fileReader.close();
fileWriter.close();
//调用方法
read();
//FileWriter 是OutputStreamWriter的直接子类,继承了父类的方法如下。
new FileWriter("homework\\ss.txt").write("nihao123",
1,
"nihao".length());//为哈这个写不进去。
// new FileOutputStream("homework\\ss.txt").write("nihao",0,4);//你好位置只能放byte[] 数组
// new FileOutputStream("homework\\ss.txt").write("nihao".getBytes());//这样会在文件中写入nihao
}
public static void read() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader("homework\\s.txt"));
//读取文件的内容,存储到一个字符串中
String s = bufferedReader.readLine();
//把字符串转换成字符数组
char[] chars = s.toCharArray();
//对字符数组进行排序
Arrays.sort(chars);
//把字符数组转换成字符串
// String s1 = chars.toString();
String s1 = new String(chars);
//把字符数组写入到ss.txt文件中
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("homework\\ss.txt"));
bufferedWriter.write(s1);
System.out.println("s1:"+s1);
bufferedWriter.newLine();//写一行行分隔符
//释放资源
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
}
}
已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.t
最新推荐文章于 2022-04-10 11:29:00 发布