• 【JAVA】文件各行打乱


    给定一个文件,把文件 里的各行打乱,并验证其正确性,时间紧迫,随手写写
            String path = "/Users/guangyi.zgy/Desktop/scene_2khas_8kno_query_1W.csv";
            List<String>  newList=new ArrayList<String>();
            //打开文件
            File file = new File(path);
                try {
                    InputStream instream = new FileInputStream(file);
                    if (instream != null)
                    {
                        InputStreamReader inputreader = new InputStreamReader(instream);
                        BufferedReader buffreader = new BufferedReader(inputreader);
                        String line;
                        //分行读取
                        int j = 0;
                        while (( line = buffreader.readLine()) != null) {
                            newList.add(line);
                        }
                        instream.close();
    
                        String[] newA = new String[newList.size()];
                        for (String str : newList) {
                            Random random = new Random();
                            int a = random.nextInt(newList.size());
                            if (newA[a] == null) {
                                newA[a] =  str;
                            } else {
                                for (int i = 0; i < newA.length; i++) {
                                    if (newA[i] == null) {
                                        newA[i] = str;
                                        break;
                                    }
                                }
                            }
                        }
                        String pathNew = "/Users/guangyi.zgy/Desktop/NEW_scene_2khas_8kno_query_1W.csv";
                        File fileNew = new File(pathNew);
                        fileNew.createNewFile();
    
                        OutputStream outputStream = new FileOutputStream(fileNew);
                        BufferedWriter bf = new BufferedWriter(new OutputStreamWriter(outputStream));
    
                        boolean firstLine = true;
                        for (String str : newA) {
                            if (firstLine) {
                                bf.write(str);
                                firstLine = false;
                                continue;
                            }
                            if (str != null) {
                                bf.write("
    " + str);
                            } else {
                                System.out.println("有空行出现");
                            }
                        }
                        bf.close();
    
                        for (String str : newA) {
                            int count = 0;
                            for (String str1 : newA) {
                                if (StringUtils.equals(str1.trim(), str.trim())) {
                                    count ++;
                                }
                            }
                            if (count > 1) {
                                System.out.println("有多个相同字符");
                            }
                        }
                    }
                }
                catch (java.io.FileNotFoundException e)
                {
                }
                catch (IOException e)
                {
                }
  • 相关阅读:
    WPF Caliburn 学习笔记(五)HelloCaliburn
    MSDN 教程短片 WPF 20(绑定3ObjectDataProvider)
    MSDN 教程短片 WPF 23(3D动画)
    比赛总结一
    HDU3686 Traffic Real Time Query System
    HDU3954 Level up
    EOJ382 Match Maker
    UESTC1565 Smart Typist
    HDU3578 Greedy Tino
    ZOJ1975 The Sierpinski Fractal
  • 原文地址:https://www.cnblogs.com/garinzhang/p/10182314.html
Copyright © 2020-2023  润新知