美文网首页程序员
IO流——文件中读取数字并排序输出到另一个文件中

IO流——文件中读取数字并排序输出到另一个文件中

作者: 扒块腹肌 | 来源:发表于2017-01-22 21:08 被阅读626次

在一个文件中写入10个数字。使用文件输入流将这10个数读到内存中,然后进行排序,并将排好序的数字输出到另一个文件中

原文本:

排序输出文本.png

程序如下

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*整体思路;
 * 1.字符流读写文本数据
 * 2.构造字符串缓冲区接收字符串
 * 3.正则表达式 用空格拆分读取到的字符串
 * 4.冒泡排序
*/

/**
 * @author Administrator
 *
 */
public class Java_4
{
    public static void main(String[] args)
    {
        BufferedReader readNumber = null;
        FileWriter writeNumber = null;
        String string = null;
        StringBuffer stringBuffer = null;
        String[] str = null;
        try
        {
            readNumber = new BufferedReader(new FileReader("1.txt"));
            writeNumber = new FileWriter("2.txt");
            stringBuffer = new StringBuffer();// 构造字符串缓冲区

            // 读入文件内容
            while ((string = readNumber.readLine()) != null)
            {
                System.out.println("文件内容: " + string);
                // 根据空格拆分此字符串
                str = string.split(" ");
                for (int k = 0; k < str.length - 1; k++)
                {// 遍历字符串数组 转换为int数组 并比较相邻数的大小
                    for (int j = k + 1; j < str.length; j++)
                    {
                        // 创建 Integer对象表示 str[i]所指示的int值 ,大数放左边
                        if (Integer.valueOf(str[k]) < Integer.valueOf(str[j]))
                        {
                            String temp = str[k];
                            str[k] = str[j];
                            str[j] = temp;
                        }
                    }
                }
                // 排序完成,逐个追加到StringBuffer序列中
                for (int k = 0; k < str.length; k++)
                {
                    stringBuffer.append(str[k] + " ");
                }
                // 返回字符串本身,写入文件 
                writeNumber.write(stringBuffer.toString());
                writeNumber.flush();
            }
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (readNumber != null)
            {
                try
                {
                    readNumber.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
            if (writeNumber != null)
            {
                try
                {
                    writeNumber.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
        }
    }
}


输出文本:

排序输出文本.png

相关文章

  • IO流——文件中读取数字并排序输出到另一个文件中

    在一个文件中写入10个数字。使用文件输入流将这10个数读到内存中,然后进行排序,并将排好序的数字输出到另一个文件中...

  • Python -读取,存储文件

    读文件 写文件 从控制台输入并保存 从一个文件读取写入到另一个文件中 Eg:将文件的参数读取,并计算总和,排序

  • 初学Java,IO流中FileInputStream采用byte

    IO流中FileInputStream采用byte[]方式读取。相比单纯使用read()方法读取文件,采用byte...

  • 测试图片按数字排序并每6个重命名

    需求: 1)把文件按后面的数字排序(字母-数字.bmp) 2)把上述排序所得的文件每6个读取并加上递增数字前缀

  • java:基本输入流读取文件

    为何读取叫输入流,写入叫输出流因为是先把文件内容输入到内存中,所以叫输入流把内存中的值输出到文件中,所以叫输出流 ...

  • java:基本输出流写入文件

    为何读取叫输入流,写入叫输出流因为是先把文件内容输入到内存中,所以叫输入流把内存中的值输出到文件中,所以叫输出流 ...

  • pandas操作excel常用命令

    1、引入pandas 读取excel 写出到excel(文件名相同将会覆盖) 数据排序 使用&(并)与| (或)实...

  • 每日一个linux命令10-ln

    1. 命令解析 命令用途: 将文件内容输出到标准输出,并添加上行号;若没有指定文件,或指定的文件名为-则读取标准输...

  • 字符串与流处理

    文件读取 把文件中的内容读取到map中 把map的内容导出到一个文件中 一次性读取所有内容 字符串类型转换 使用i...

  • HDFS下文件读取实验

    实现在hadoop hdfs下读出指定文件,并将指定文件中的内容排序,输出到hdfs中。具体代码如下 头文件: 其...

网友评论

    本文标题:IO流——文件中读取数字并排序输出到另一个文件中

    本文链接:https://www.haomeiwen.com/subject/bymobttx.html