Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用arrayList对行进行排序 导入java.io.BufferedReader; 导入java.io.BufferedWriter; 导入java.io.File; 导入java.io.FileReader; 导入java.io.FileWriter; 导入java.io.IOException; 导入java.util.ArrayList; 导入java.util.Collections; 导入java.util.List; 公共课第2部分 { @抑制警告(“资源”) 公共静态void main(字符串[]args)引发IOException { 文件f1=新文件(“一个.txt”); 文件f2=新文件(“两个.txt”); BufferedReader fr1=null; BufferedReader fr2=null; //BufferedReader fr3=null; BufferedWriter fw=null; fr1=新的BufferedReader(新的文件读取器(“one.txt”); fr2=新的BufferedReader(新的文件读取器(“two.txt”); fw=新的缓冲写入程序(新的文件写入程序(“res.txt”); 字符串line1=fr1.readLine(); 字符串line2=fr2.readLine(); //将两个文件合并为一个文件 while(第1行!=null) { fw.write(第1行); fw.newLine(); line1=fr1.readLine(); } while(第2行!=null) { fw.write(第2行); fw.newLine(); line2=fr2.readLine(); } fw.close(); //对新文件进行排序 BufferedReader fr3=null; BufferedWriter fw1=null; fw1=新的缓冲写入程序(新的文件写入程序(“res1.txt”); fr3=新的BufferedReader(新的文件读取器(“res.txt”); 字符串line3=fr3.readLine(); ArrayList lineList=新建ArrayList(); while(第3行!=null) { lineList.add(第3行); line3=fr3.readLine(); } Collections.sort(行列表); 对于(int i=0;i_Java_Sorting_Arraylist - Fatal编程技术网

使用arrayList对行进行排序 导入java.io.BufferedReader; 导入java.io.BufferedWriter; 导入java.io.File; 导入java.io.FileReader; 导入java.io.FileWriter; 导入java.io.IOException; 导入java.util.ArrayList; 导入java.util.Collections; 导入java.util.List; 公共课第2部分 { @抑制警告(“资源”) 公共静态void main(字符串[]args)引发IOException { 文件f1=新文件(“一个.txt”); 文件f2=新文件(“两个.txt”); BufferedReader fr1=null; BufferedReader fr2=null; //BufferedReader fr3=null; BufferedWriter fw=null; fr1=新的BufferedReader(新的文件读取器(“one.txt”); fr2=新的BufferedReader(新的文件读取器(“two.txt”); fw=新的缓冲写入程序(新的文件写入程序(“res.txt”); 字符串line1=fr1.readLine(); 字符串line2=fr2.readLine(); //将两个文件合并为一个文件 while(第1行!=null) { fw.write(第1行); fw.newLine(); line1=fr1.readLine(); } while(第2行!=null) { fw.write(第2行); fw.newLine(); line2=fr2.readLine(); } fw.close(); //对新文件进行排序 BufferedReader fr3=null; BufferedWriter fw1=null; fw1=新的缓冲写入程序(新的文件写入程序(“res1.txt”); fr3=新的BufferedReader(新的文件读取器(“res.txt”); 字符串line3=fr3.readLine(); ArrayList lineList=新建ArrayList(); while(第3行!=null) { lineList.add(第3行); line3=fr3.readLine(); } Collections.sort(行列表); 对于(int i=0;i

使用arrayList对行进行排序 导入java.io.BufferedReader; 导入java.io.BufferedWriter; 导入java.io.File; 导入java.io.FileReader; 导入java.io.FileWriter; 导入java.io.IOException; 导入java.util.ArrayList; 导入java.util.Collections; 导入java.util.List; 公共课第2部分 { @抑制警告(“资源”) 公共静态void main(字符串[]args)引发IOException { 文件f1=新文件(“一个.txt”); 文件f2=新文件(“两个.txt”); BufferedReader fr1=null; BufferedReader fr2=null; //BufferedReader fr3=null; BufferedWriter fw=null; fr1=新的BufferedReader(新的文件读取器(“one.txt”); fr2=新的BufferedReader(新的文件读取器(“two.txt”); fw=新的缓冲写入程序(新的文件写入程序(“res.txt”); 字符串line1=fr1.readLine(); 字符串line2=fr2.readLine(); //将两个文件合并为一个文件 while(第1行!=null) { fw.write(第1行); fw.newLine(); line1=fr1.readLine(); } while(第2行!=null) { fw.write(第2行); fw.newLine(); line2=fr2.readLine(); } fw.close(); //对新文件进行排序 BufferedReader fr3=null; BufferedWriter fw1=null; fw1=新的缓冲写入程序(新的文件写入程序(“res1.txt”); fr3=新的BufferedReader(新的文件读取器(“res.txt”); 字符串line3=fr3.readLine(); ArrayList lineList=新建ArrayList(); while(第3行!=null) { lineList.add(第3行); line3=fr3.readLine(); } Collections.sort(行列表); 对于(int i=0;i,java,sorting,arraylist,Java,Sorting,Arraylist,在退出程序之前关闭fw1,或者在刷新缓冲区内容之前将其从内存中删除。有什么问题?什么不起作用?发布代码并说“有什么想法”没有用。程序是否确实从文件中读取数据?在尝试打开它之前,请尝试将bufferedwriter关闭为res.txt。可能操作系统没有打开文件进行读取,因为它是为写入而打开的。Paddy,它会一直工作到排序,即读取和合并两个文件,但在尝试对lin进行排序时不会执行任何操作es.Jamil,在排序之前,我已经用fw.close()完成了。抱歉,一定错过了那一行。你能看到你第一次调用字

在退出程序之前关闭fw1,或者在刷新缓冲区内容之前将其从内存中删除。

有什么问题?什么不起作用?发布代码并说“有什么想法”没有用。程序是否确实从文件中读取数据?在尝试打开它之前,请尝试将bufferedwriter关闭为res.txt。可能操作系统没有打开文件进行读取,因为它是为写入而打开的。Paddy,它会一直工作到排序,即读取和合并两个文件,但在尝试对lin进行排序时不会执行任何操作es.Jamil,在排序之前,我已经用fw.close()完成了。抱歉,一定错过了那一行。你能看到你第一次调用字符串line3=fr3.readline();是否给你带来了什么吗?谢谢你,天哪,这是一个愚蠢的错误,谢谢
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;


public class part2
{

    @SuppressWarnings("resource")
    public static void main(String[] args) throws IOException
    {
        File f1 = new File("one.txt");
        File f2 = new File("two.txt");

        BufferedReader fr1 = null;
        BufferedReader fr2 = null;
        //BufferedReader fr3 = null;
        BufferedWriter fw = null;

        fr1 = new BufferedReader(new FileReader("one.txt"));
        fr2 = new BufferedReader(new FileReader("two.txt"));
        fw = new BufferedWriter(new FileWriter("res.txt"));


        String line1 = fr1.readLine();
        String line2 = fr2.readLine();


        // merging two files into one
        while (line1 != null)
        {
            fw.write(line1);
            fw.newLine();

            line1 = fr1.readLine();

        }

        while (line2 != null)
        {
            fw.write(line2);
            fw.newLine();

            line2= fr2.readLine();

        }
        fw.close();

        // sorting a new file 

        BufferedReader fr3 = null;
        BufferedWriter fw1 = null;

        fw1 = new BufferedWriter(new FileWriter("res1.txt"));
        fr3 = new BufferedReader(new FileReader("res.txt"));

        String line3 = fr3.readLine();

        ArrayList<String> lineList = new ArrayList<String>();
        while (line3 != null)
        {
            lineList.add(line3);
            line3 = fr3.readLine();
        }


        Collections.sort(lineList);

        for(int i=0; i<lineList.size(); i++)
        {
            fw1.write(lineList.get(i) + "\n");
            //line3 = fr3.readLine();

        }



      }
    }