【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)
            {
            }

原文地址:https://www.cnblogs.com/garinzhang/p/10182314.html

时间: 2025-01-17 03:37:02

【JAVA】文件各行打乱的相关文章

jsp声称的java文件位置

想找到JSP生成的字节码文件还是Java文件,这得看你加载Web应用是自己配置的Tomcat还是加载到Eclipse默认路径下:先说Eclipse默认路径下的吧,其路径为:你的eclipse存放工程的文件夹\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\要找的JSP页面对应工程名\org\apache\jsp如果是加载的Web应用就在Tomcat下,其路径为:磁盘:\apache-tomca

package-info.java文件详解

package-info.java文件详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.pacakge-info.java介绍 pacakge-info.java是一个Java文件,可以添加到任何的Java源码包中.pacakge-info.java的目标是提供一个包级的文档说明或者是包级的注释. pacakge-info.java文件中,唯一要求包含的内容是包的声明语句,比如: package com.ch.service; 二.包文档 在

Dalvik指令分析(二) 从java文件到dex

写这个系列文章是想了很久但是一直没有时间付诸行动,趁着这两天假期还没有结束, 赶紧动笔,怕上班了就没有时间再静下心来写这些文章,所以有点赶,表现在系列文章的 内容安排上就不是很合理,有些内容还需要丰富,但是聊胜于无吧,先写下再修改,如果 有一些反馈也可以根据反馈来修改.好了,开始第二篇文章. 这篇文章可以成为dx的HelloWorld,在这篇文章里我会介绍如果将一个java文件编译 成一个dex文件.ok,go! step1: 准备java文件,文件名HelloWorld.java,内容如下 p

java文件读取

java文件读取 刚开始用java,作为之前C语言的重度使用者,发现以前熟悉的文件读取file.read()在java.io.File类里找不到了.替代之的是java.io.InputStream, InputStream为一个I/O操作的抽象类,其中FileInputStream:read实现了读取文件的方法 File f = new File(fileName); InputStream in = new FileInputStream(f); byte data[] = new byte[

关于android R.java文件无法创建的问题

R.java文件无法创建的原因网上有很多说法普遍是以下两种: 1. xml文件有错误: 解决方法就是找到哪个xml有错然后把错误修复就OK了. 2.编码问题 这时候只要把xml文件的编码改成utf8就能解决问题. 然而对于查找xml文件错误我们常常依赖android的自带工具进行检测,但是只要是人写得程序必然会有一些bug, 当检测工具出现bug后有可能导致错误很难定位. 而在xml文件校验方面,里面就有一个很坑的bug: 当menu目录下的文件有错时导致r文件无法生成时,可能不会给出任何有关m

Java 文件拼接器

1. 功能描述: 实现指定目录下相同类型的文件拼接成一个文件, 拼接效果如代码所示. 涉及内容: 反射, io, 递归 1.1 xml 的拼接: <!-- \pom.xml --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:

java文件读写操作

Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法.Writer中 write(),flush()和close()方法为抽象方法.子类应该分别实现他们. Java IO已经为我们提供了三个方便的Reader的实现类,FileReader,InputStreamReader和BufferedReader.其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁.你可以在构造器重指定编码的方式,如果不

Eclipse不能自动编译 java文件的解决方案

前段时间出现了eclipse 不自动编译java文件的问题,在网上找了好长时间,总算把问题解决了,现在把这个问题的解决方法总结一下. 1,看看project -- Build Automatically有没有勾上?如果没有,勾上以后,clean一下,重启eclipse 2,看看你的lib里面有没有不用的jar包,看你的.classpath文件中有没有错误的路径. 3,这是最重要的一点,有problems视图中查看有没有关于本项目的错误信息,一般都会有这样的话: The project canno

加载依赖的jar包在命令行编译和运行java文件

在命令里编译和执行java文件,当应用程序需要需要依赖的jar包里面的class文件才能编译运行的时候,应该这样做: 1. 首先是编译过程,在命令行里面执行: (1) javac -classpath ClassPath Test.java    //其中ClassPath对应的是jar包的路径,这个jar包亦可以是zip包 (2) javac -classpath CLASSPATH:*.jar Test.java    //其中ClassPath对应的是jar包的路径,这个jar包亦可以是z