weixin_45594779 2019-11-27 10:29 采纳率: 90.9%
浏览 214
已采纳

关于JAVA File的问题!跪求大神教我,顺便解释那个代码的意思

图片说明

  • 写回答

2条回答

  • renkai721 2019-11-27 11:30
    关注

    以下是代码片段,你可以参考下

    package test;
    
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    
    public class JavaIo {
        // Write a program to create a file named integerFile.txt if it does not exists. Write 100
        // integers
        // created randomly into the file using text I/O. The random integers should be in the range 0
        // to
        // 100(including 0 and 100). Integers should be separated by spaces in the file. Read the data
        // back from the file and display the data in increasing order.
        // 解题:用java IO流创建一个integerFile.txt的文本文件,如果这个文件不存在要创建它。文件内容要写入100个随机数,
        // 随机数的范围在0到100,包含0和100。然后读取文件,按照升序展示这个数据
        public static void main(String[] args) {
            // 文件全路径
            String fileName = "d:\\integerFile.txt";
            try {
                File file = new File(fileName);
                // 文件存在删除它,创建新的
                file.deleteOnExit();
                if (!file.exists()) {
                    // 创建文件
                    file.createNewFile();
                }
                // 100个空格分隔的随机数
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < 100; i++) {
                    int number = (int) (Math.random() * 101);
                    sb.append(number + " ");
                }
                FileWriter fw = new FileWriter(file);
                System.out.println("写入的数据="+sb.toString());
                // 写数据
                fw.write(sb.toString());
                // 刷新缓存区
                fw.flush();
                // 关闭文件流
                fw.close();
                System.out.println("写入文件成功。。。");
                // 读取文件
                System.out.println("读取的数据");
                FileReader fr = new FileReader(file);
                char[] buf = new char[(int) file.length()];
                int len;
                StringBuffer readSb = new StringBuffer();
                while ((len = fr.read(buf)) != -1) {
                    readSb.append(new String(buf, 0, len));
                }
                fr.close();
                // 冒泡排序算法
                String[] numbers = readSb.toString().split(" ");
                int i, j;
                for (i = 0; i < numbers.length; i++) {
                    for (j = 0; j < numbers.length - 1 - i; j++) {
                        // 按照升序排列
                        if (Integer.parseInt(numbers[j]) > Integer.parseInt(numbers[j + 1])) {
                            String temp = numbers[j];
                            numbers[j] = numbers[j + 1];
                            numbers[j + 1] = temp;
                        }
                    }
                }
                // 展示数据
                for (int a = 0; a < numbers.length; a++) {
                    System.out.print(numbers[a]+" ");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题