这是面试时遇到的一道问题:
这是要读取的文件数据:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
public class Test{
/**
* 写入文件
*/
public static void read_in(String s) throws Exception {
File file2=new File("C:\\Users\\Administrator\\Desktop\\Result.txt");
FileOutputStream fos=new FileOutputStream(file2);
OutputStreamWriter os=new OutputStreamWriter(fos,"utf-8");
BufferedWriter bw=new BufferedWriter(os);
bw.write(s);
System.out.println("写入成功");
bw.close();
}
/**
* 读取文件
*/
public static void main(String[] args) {
try {
/*读取text1文件中的数据*/
String pathname="C:\\Users\\Administrator\\Desktop\\Test1.txt";
File filename=new File(pathname);
InputStreamReader reader=new InputStreamReader(new FileInputStream(filename));
BufferedReader br=new BufferedReader(reader);
String lineTxt = null;
while ((lineTxt = br.readLine()) != null) {
String[] str=lineTxt.split(",");
int[] arr=new int[str.length];
System.out.println("切割后的数据"+Arrays.toString(str));
for(int i=0;i<str.length;i++) {
arr[i]=Integer.parseInt(str[i]);
}
Arrays.sort(arr);
System.out.println("排序后"+Arrays.toString(arr));
String s=Arrays.toString(arr);
read_in(s);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
最后结果: