在文件a中有10个整数按从小到大的顺序排列,在其中插入一个整数,插入后数据仍然有序
用java写 求个代码
java语言写 在文件a中有10个整数按从小到大的顺序排列,在其中插入一个整数,插入后数据仍然有序?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
threenewbee 2018-12-16 05:38关注import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileWriter; public class cin_txt { static void main(String args[]) { try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw /* 读入TXT文件 */ String pathname = "D:\\你的路径\\1.txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径 File filename = new File(pathname); // 要读取以上路径的input。txt文件 InputStreamReader reader = new InputStreamReader( new FileInputStream(filename)); // 建立一个输入流对象reader BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言 String line = ""; line = br.readLine(); //while (line != null) { // line = br.readLine(); // 一次读入一行数据 //} int toIns = 123; //要插入的整数 String[] snums = line.split(","); String[] result = new String[snums.length + 1]; int j = 0; for (int i = 0; i < snums.length + 1; i++) { if (toIns > Integer.parseInt(snums[i]) && j == 0) { result[i] = String.valueOf(toIns); j = 1; } else if (j == 0) result[i] = snums[i]; else result[i] = snums[i- 1]; } /* 写入Txt文件 */ File writename = new File("D:\\你的路径\\2.txt"); // 相对路径,如果没有则要建立一个新的output。txt文件 writename.createNewFile(); // 创建新文件 BufferedWriter out = new BufferedWriter(new FileWriter(writename)); for (int i = 0; i < result.length; i++) { if (i == 0) out.write(result[i]); else out.write("," + result[i]); } out.flush(); // 把缓存区内容压入文件 out.close(); // 最后记得关闭文件 } catch (Exception e) { e.printStackTrace(); } } }运行本程序之前,先创建一个1.txt的文本文件,里面单行用逗号分割地写入10个整数。保存到和程序一致的路径里。
运行结果输出到2.txt解决 无用评论 打赏 举报