java从文件按行读取数字排序后写入文件
java读写文件
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
public class lineSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 使用ArrayList来存储每行读取到的字符串
ArrayList<String> arrayList = new ArrayList<>();
try {
String name = "sort.txt";//最好采用绝对路径
FileReader fr = new FileReader(name);
BufferedReader bf = new BufferedReader(fr);
String str;
// 按行读取字符串
while ((str = bf.readLine()) != null) {
arrayList.add(str);
}
bf.close();
fr.close();
// 对ArrayList中存储的字符串进行处理
int length = arrayList.size();
int[] array = new int[length];
for (int i = 0; i < length; i++) {
String s = arrayList.get(i);
array[i] = Integer.parseInt(s);
}
//将排序后的数据写入文件
Arrays.sort(array);
FileWriter fw = new FileWriter(name);
for (int i = 0; i < length; i++) {
System.out.println(array[i]);
String s = Integer.toString(array[i])+"\r\n";//输入一个数字后换行
fw.write(s);
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}