1.执行结果要求如图:
2.代码:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Vector;
public class ReadFile {
public static void main(String[] args) {
File file = new File("test.txt");
if (file.exists()) {
try {
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
File newfile = new File("sort_test.txt"); // 如果文件不存在下一步会创建出来
FileOutputStream fos = new FileOutputStream(newfile);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
String str;
String[] line;
str = br.readLine();
int temp;
while (str != null) {
line = str.split("\\|");
int[] intArray = new int[line.length];
for (int i = 0; i < line.length; i++) {
intArray[i] = Integer.parseInt(line[i]);
}
for (int m = 0; m < intArray.length - 1; m++) {
for (int n = 0; n < intArray.length - m - 1; n++) {
if (intArray[n] > intArray[n + 1]) {
temp = intArray[n];
intArray[n] = intArray[n + 1];
intArray[n + 1] = temp;
}
}
}
List<String> lists = new Vector<String>();
for (int j = 0; j < intArray.length; j++) {
lists.add(String.valueOf(intArray[j]));
}
for (int j = 0; j < lists.size(); j++) {
bw.write("|" + lists.get(j));
}
bw.write("\n");
str = br.readLine();
}
br.close();
isr.close();
fis.close();
bw.close();
osw.close();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}