您的位置:首页 > 编程语言 > Java开发

Java:对文件A.txt内部数据逐行排序,并写入B.txt

2016-03-01 17:14 691 查看

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
> intArray[n + 1]) {
temp = intArray
;
intArray
= 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();
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: