【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("\n" + 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) { }
路慢慢其休远羲,吾将上下而求所
【推荐】中国电信天翼云云端翼购节,2核2G云服务器一口价38元/年
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在.NET Core中使用异步多线程高效率的处理大量数据
· 聊一聊 C#前台线程 如何阻塞程序退出
· 几种数据库优化技巧
· 聊一聊坑人的 C# MySql.Data SDK
· 使用 .NET Core 实现一个自定义日志记录器
· 字节豆包,来园广告
· 我用cursor, 半就开发了一个手机壁纸小程序,真的太强了
· 聊一聊 C#前台线程 如何阻塞程序退出
· 订单超时自动取消,我们是这样做的。。。
· C#字符串拼接的几种方式及其性能分析对比