`

文件排序后进行文本复制

阅读更多

现将TEXT1.TXT中的文本内容 复制到TEXT2.TXT中 并对其内容进行排序
TEXT1.TXT中的文本内容为:b,5,q,10,f,6,9,d,3,c,1,e,4,2,7,8,a
最后输出结果为:a,b,c,d,e,f
1,2,3,4,5,6,7,8,9,10


难点在10要排在9的后面,试着做做就知道我说什么了,呵呵

import java.io.BufferedReader;   
import java.io.File;   
import java.io.FileOutputStream;   
import java.io.InputStream;   
import java.io.InputStreamReader;   
import java.io.PrintWriter;   
import java.util.ArrayList;   
import java.util.Arrays;   
/**  
 * 1.txt放在当前类的包中  
 *  
 */  
public class SortText {   
    public static void main(String[] args) throws Exception {   
  
        InputStream in = SortText.class.getResourceAsStream("1.txt");   
        BufferedReader br = new BufferedReader(new InputStreamReader(in));   
        String content = br.readLine();   
        String[] arrary = content.split(",");   
        ArrayList<Integer> numList = new ArrayList<Integer>();   
        ArrayList<String> strList = new ArrayList<String>();   
        for (String str : arrary) {   
            try {   
                int numer = Integer.parseInt(str);   
                numList.add(numer);   
            } catch (NumberFormatException nfe) {   
                strList.add(str);   
            }   
        }   
        Integer[] numArray = numList.toArray(new Integer[0]);   
        String[] strArray = strList.toArray(new String[0]);   
        Arrays.sort(numArray);   
        Arrays.sort(strArray);   
        StringBuilder sb = new StringBuilder();   
        for (int i = 0; i < strArray.length; i++) {   
            if (i > 0) {   
                sb.append(",");   
            }   
            sb.append(strArray[i]);   
        }   
  
        for (int i = 0; i < numArray.length; i++) {   
            if (sb.length() == 0)   
                sb.append(numArray[i]);   
            else  
                sb.append(",").append(numArray[i]);   
        }   
        String result = sb.toString();   
        String path = SortText.class.getResource("").getPath();//得到当前路径,2.txt与1.txt放在同一个目录中 
        //System.out.println(path);
        File newFile = new File(path + "2.txt");   
        PrintWriter pw = new PrintWriter(new FileOutputStream(newFile));   
        pw.print(result);   
        pw.flush();   
        pw.close();   
    }   
  
}  

 

分享到:
评论

相关推荐

    对文本文件的录入和保存

    5. **排序与筛选**:在编程环境中,可以对文本文件的行进行排序或筛选,实现数据分析和预处理。 **编码与解码**: 文本文件的编码很重要,常见的有ASCII、UTF-8、GBK等。ASCII仅支持英文字符,而UTF-8支持全世界大...

    超好用的文本文件合并器 txt文件

    同时,理解如何在Windows操作系统中进行文件操作,例如浏览文件夹、复制/移动文件等,也是使用此类工具的前提。对于企业或专业用户,这样的工具可以极大地提高工作效率,减少手动操作带来的错误。

    文本文件合并器文本文件合并器2.0

    2. **文件排序**:在合并过程中,用户可能希望按照文件名、创建日期或其他特定顺序来组织合并后的文本。软件是否提供这样的排序选项也是其性能的重要指标。 3. **预览功能**:在合并前,预览功能能让用户确认文件...

    易语言文本排序源码.7z

    2. 字符串处理:在排序过程中,需要对字符串进行比较和交换,易语言提供了一系列字符串处理函数,如“字符串比较”、“字符串复制”、“字符串替换”等。 3. 排序算法实现:源码可能包含了如冒泡排序、快速排序等...

    Android代码-支持拖动排序的富文本编辑器

    支持图片文字混合编辑、排序的富文本编辑器 目前暂时支持的功能: 支持图片文字混合添加、修改、删除 支持文字中间随意插入一张或多张图片 支持图片文字任意排序 Preview 由于 gif 图片较大,网速不好的童鞋请耐心...

    简易功能文本编辑器(C#)

    7. **调试与测试**:编写完成后,使用Visual Studio的调试工具进行测试,确保每个功能都能正常工作,并且没有未预期的行为。同时,编写单元测试以验证代码的正确性。 通过以上步骤,我们可以构建一个基本的文本编辑...

    文本合并工具 合并文本文件

    3. **排序与预览**:在添加文件后,用户可能有机会对文件的合并顺序进行调整。工具通常会提供上移、下移功能,确保文件按所需的顺序排列。同时,部分工具还支持预览文件内容,以便确认无误。 4. **设置输出**:设置...

    文本文件合并器2.0

    除了基本的合并功能,一些高级特性也可能包含在文本文件合并器2.0中,例如预览合并结果、过滤特定内容、按行或段落排序等。这些功能可以帮助用户更精细化地管理合并过程,满足不同场景下的需求。 在实际应用中,...

    批处理文件 运行程序 排序 浏览空间

    在IT行业中,批处理文件(Batch File)是一种在命令行环境中执行一系列操作的文本脚本。它们主要用于自动化日常任务,例如运行程序、执行系统维护或批量处理文件。在这个场景下,用户提到的“批处理文件运行程序”...

    文本编辑器的设计

    文件操作示例:实验中的例子展示了如何读取文件内容到RichTextBox控件,以及如何对文件内容进行排序和写回。这里使用了StreamReader和StreamWriter类来读写文件,同时运用了冒泡排序算法对数字进行排序。\n\n三、...

    易语言文本型数组[exe]源码,易语言DLL返回文本型数组

    4. 返回结果:处理完成后,我们需要将结果封装成文本型数组,然后通过易语言提供的API或内置函数将数组复制到内存中,最后返回内存指针。 5. 调用DLL:在主程序中,我们可以通过易语言的“调用DLL”命令来调用这个...

    纯文本文件转换成电子表格.docx

    这个过程对于处理大量结构化数据非常有用,因为电子表格软件提供了数据分析、排序和计算的功能,而纯文本文件则更适合简单的记录和存储。 在描述中提到的转换方法分为几个步骤: 1. **纯文本文件转电子表格**: -...

    c语言写的根据字符串排序的算法

    处理字符串时,我们经常使用标准库函数,如`strlen()`来计算字符串的长度,`strcpy()`和`strcat()`用于复制和连接字符串,以及`strcmp()`进行字符串比较。 排序算法是计算机科学中的核心部分,有许多不同的实现方式...

    文件中单词查找

    6. **批量操作**:对于查找结果,用户可能需要进行批量操作,例如复制、替换或删除包含特定单词的文件。好的工具会提供这些便捷的功能。 7. **性能优化**:在处理大文件或大量文件时,工具的性能至关重要。快速的...

    文本编辑器0000000

    2、剪切、复制、粘贴:大多数文本编辑器都支持文件内的或者文件间的复制或者移动。 3、文字排版:文本编辑器通常支持基本的排版功能,如卷行、自动缩排、行号排版、注释排版等等。 4、撤销和恢复:同文字处理器一样...

    SPSS的安装、数据管理与文本文件的编辑.doc

    3.1.2 文件的调用:通过文件菜单,用户可以打开已有的文本文件进行编辑。 3.1.3 文件的打印:在完成文本编辑后,可选择打印预览和打印实际文件。 3.2.1 文本中文字的增删与修改:用户可以插入、删除或修改文本内容...

    文件浏览 排序 增添图标 进入子目录 返回 等功能

    这通常涉及到文件管理器,它允许用户查看文件的名称、类型、大小、创建日期等信息,并进行打开、复制、移动、删除等操作。 2. **根据目录和文件自动排序**:这是文件浏览功能的一项重要特性,系统会按照某种规则...

    网络编程实践报告

    实现一个文本文件拷贝函数 `copy`,能够将一个文件的内容完整复制到另一个文件中。 **解决方案**: - 使用文件输入输出流来实现文件的读取和写入。 - 循环读取源文件的每个字符,并将它们写入目标文件。 **代码...

    航班信息查询与检索-文本编辑器

    系统可能需要从文件中加载航班信息,如航班号、出发地、目的地、起飞时间等,然后提供用户友好的查询接口,以便根据各种条件(如航班号、出发地或目的地)进行搜索。这需要运用到字符串处理和数组或链表等数据结构来...

    C# 文本编辑器

    “排序”可能指的是对文件内容进行排序,比如按照单词、行或者其他规则。在C#中,我们可以利用数组、List或其他集合类的Sort方法,结合自定义比较器来实现定制化的排序逻辑。对于大型文本数据,还可以考虑使用高效的...

Global site tag (gtag.js) - Google Analytics