博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础面试操作题:读取该文件内容,并按照自然顺序排序后输出到 另一个文件中...
阅读量:5875 次
发布时间:2019-06-19

本文共 4008 字,大约阅读时间需要 13 分钟。

package com.swift;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class IO_sort_content {    public static void main(String[] args) {        /*         * 已知文件 a.txt 文件中的内容为“bcdeadferwplkou”,         * 请编写程序读取该文件内容,并按照自然顺序排序后输出到 b.txt 文件中。         * 即 b.txt 中的文件内容应为“abcd…………..”这样的顺序。         */            try {                FileInputStream fis=new FileInputStream("E:\\neck\\a.txt");                FileOutputStream fos=new FileOutputStream("E:\\neck\\b.txt");                byte[] kilo=new byte[4*1024];                int len;                    while((len=fis.read(kilo))!=-1) {                        fos.write(kilo,0,len);                        fos.flush();                    }            } catch (FileNotFoundException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }    }}

上面只是做到读取并写入另一个文件,并没有进行排序

下面是排序的方法

 

package com.swift;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import java.util.Arrays;public class IO_sort_content {    public static void main(String[] args) {        /*         * 已知文件 a.txt 文件中的内容为“bcdeadferwplkou”,         * 请编写程序读取该文件内容,并按照自然顺序排序后输出到 b.txt 文件中。         * 即 b.txt 中的文件内容应为“abcd…………..”这样的顺序。         */                        try {                BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("E:\\neck\\a.txt"),"GB2312"));                StringBuffer sb=new StringBuffer();                String str;                    while((str=br.readLine())!=null) {                        sb.append(str);                    }                    String source=sb.toString();                    char[] src=source.toCharArray();                    Arrays.sort(src);                    String destination=String.valueOf(src);                    System.out.println(destination);                    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E:\\neck\\b.txt"),"GB2312"));                    bw.write(destination);                    bw.flush();                                        sb.setLength(0);                    sb.append(destination);                    System.out.println(sb.reverse());//逆序            } catch (UnsupportedEncodingException e) {                e.printStackTrace();            } catch (FileNotFoundException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }    }}

 也可以把字节流直接排序了,比较精简

package com.swift;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.Arrays;public class IO_sort_content {    public static void main(String[] args) {        /*         * 已知文件 a.txt 文件中的内容为“bcdeadferwplkou”, 请编写程序读取该文件内容,并按照自然顺序排序后输出到 b.txt 文件中。 即         * b.txt 中的文件内容应为“abcd…………..”这样的顺序。         */        try {            FileInputStream fis = new FileInputStream("E:\\neck\\a.txt");            FileOutputStream fos = new FileOutputStream("E:\\neck\\b.txt");            int len;            byte[] arr = new byte[fis.available()];            while ((len = fis.read(arr)) != -1) {                System.out.println("排序....");                Arrays.sort(arr);                System.out.println("写入...");                fos.write(arr,0,len);                fos.flush();            }        } catch (UnsupportedEncodingException e) {            e.printStackTrace();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }}

 

转载于:https://www.cnblogs.com/qingyundian/p/8322186.html

你可能感兴趣的文章
springBoot介绍
查看>>
Intellij IDEA 快捷键整理
查看>>
Redis 通用操作2
查看>>
性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
查看>>
11. Spring Boot JPA 连接数据库
查看>>
洛谷P2925 [USACO08DEC]干草出售Hay For Sale
查看>>
MapReduce工作原理流程简介
查看>>
那些年追过的......写过的技术博客
查看>>
小米手机解锁bootload教程及常见问题
查看>>
Python内置函数property()使用实例
查看>>
Spring MVC NoClassDefFoundError 问题的解决方法。
查看>>
CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
C# 解决窗体闪烁
查看>>
CSS魔法堂:Transition就这么好玩
查看>>
【OpenStack】network相关知识学习
查看>>
centos 7下独立的python 2.7环境安装
查看>>
[日常] 算法-单链表的创建
查看>>
前端工程化系列[01]-Bower包管理工具的使用
查看>>
使用 maven 自动将源码打包并发布
查看>>