package cn.xbmu.lib.jfly.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
/**
* 文件intel.txt,内容如下:
* 小王【空格】10000【回车】
* 小强【空格】12345【回车】
* 小张【空格】2342 【回车】
* 小强【空格】1030 【回车】
* 小周【空格】1020 【回车】
* 小杨【空格】2342 【回车】
* 请编写一程序从test.txt中读取数据,并按数字大小排序后写入另一文件sun.txt(写入格式同上)
* @author JFly
*/
public class SortFileContentByNum {
public static void main(String[] args) throws FileNotFoundException, IOException {
BufferedReader br = new BufferedReader(new FileReader("C:/test.txt"));
String line = null;
int size = 0;
ArrayList<String> al = new ArrayList<String>();
while ((line = br.readLine()) != null) {
if (!line.isEmpty()) {
al.add(line);
size++;
}
}
br.close();
String[] b = al.toArray(new String[size]);
Arrays.sort(b, new Comparator<String>() {
public int compare(String s1, String s2) {
int i1 = 0;
int i2 = 0;
if (s1.matches(".+\\s+\\d+") && s2.matches(".+\\s+\\d+")) {
i1 = Integer.parseInt(s1.replaceAll("\\D", ""));
i2 = Integer.parseInt(s2.replaceAll("\\D", ""));
}
if(i1 == i2) {
String str1 = s1.replaceAll("\\d", "");
String str2 = s2.replaceAll("\\d", "");
return str1.compareTo(str2) > 0 ? -1 : 1;
}
return i1 < i2 ? -1 : 1;
}
});
BufferedWriter bw = new BufferedWriter(new FileWriter("c:/result.txt"));
for(String s : b) {
bw.write(s);
bw.write("\r");
}
bw.flush();
bw.close();
}
}
分享到:
相关推荐
在IT领域,对文件内容进行排序是一项常见的任务,特别是在数据处理和分析中。在这个场景下,我们关注的是如何对大小不超过$G$的文件内容按照字符单位进行排序。这个过程通常涉及编程语言如C,以及操作系统如Linux。...
在本项目中,可能需要自定义比较函数以根据特定数据字段进行排序,这通常通过重载`operator或提供一个`Comparator`函数对象来实现。 CSV(Comma-Separated Values)文件是一种通用的文件格式,用于存储表格数据。在...
标题 "python对txt文件内容排序并输出" 涉及的知识点主要集中在使用Python编程语言处理文本文件,包括读取文件内容、数据排序以及将排序结果写入新文件。这里我们将详细探讨这些方面。 首先,Python提供了丰富的内...
"sorta"是一个专门用于帮助用户对文件内容进行排序的工具。本文将深入探讨Python中的文件操作,以及如何利用类似"sorta"的工具来高效地对文件进行排序。 首先,了解Python的基本文件操作是必要的。在Python中,我们...
2. **按文件大小排序**:如果存储空间有限,用户可能会根据文件大小进行排序,优先处理或删除大文件。 3. **按日期排序**:按照文件的创建或修改时间排序,这对于追踪最近添加或更新的媒体内容非常有用。 4. **...
- **内容管理系统**:在CMS后台中,管理员可能需要按照不同的标准(如最后修改时间、文件类型等)对资源进行排序。 - **日志分析工具**:对日志文件按时间戳排序,方便快速查找特定时间段的日志记录。 综上所述,...
这里我们关注的是“多文件读写操作”以及“内容排序”,这两个知识点在数据处理、数据分析和日志管理等场景中非常常见。下面将详细阐述这两个主题,并结合“GDP”这个标签进行举例说明。 1. **多文件读写操作**: ...
但由于未提供具体文档内容,我们只能根据一般外存排序的知识点进行解释。实际应用中,开发者需要结合具体场景,如数据特性、硬件条件等因素,选择或设计合适的外存排序算法,以实现高效的数据处理。
可以使用`NSBundle`的`pathForResource:ofType:`方法获取文件路径,然后通过`NSData`的`dataWithContentsOfFile:`方法读取文件内容。 2. **解析Plist数据**: 读取到的数据可能是XML格式或二进制格式,需要根据`...
排序文件,将图片和xml文档进行排序。
它不仅能够执行基本的解压操作,还能在解压过程中根据某种规则(可能是文件类型、创建日期、文件大小等)对解压出的文件进行排序,使得用户在解压后可以迅速找到所需的内容。这种智能化的解压方式对于处理大量的无序...
首先,我们需要导入Java的`java.io`包,该包包含了处理输入/输出流的类,如`BufferedReader`和`PrintWriter`,以及`java.util`包中的`Scanner`和`ArrayList`,用于读取和存储文件内容。 1. **读取文件**: 使用`...
写入前,确保使用'w'模式时不会覆盖已有内容,如果需要保留原文件内容,可使用'a'模式追加。 4. **关闭文件**:每次操作后,记得调用`close()`函数关闭文件,释放系统资源。为了防止意外,可以使用`with`语句,它会...
要对文件内容进行排序,首先需要将文件内容读取到内存中,这通常涉及使用TFileStream的Read方法。 2. **数据结构与算法**:文件排序通常涉及到数据结构,如数组、链表或集合,以及排序算法,如快速排序、归并排序、...
文本文件内容排序功能: 每行是一条记录,每行可以有多列,列间按预定义的分隔符分隔; 可以按单列或多列组合排序,每列的顺序可以设置为反序或者正序; 列的数据类型可以是字符串、整数、浮点数,比较排序时按指定...
Java 对大数据量文件内容的多线程读取和排序 Java 对大数据量文件内容的多线程读取和排序是非常复杂的任务,涉及到多个方面的技术,包括文件读取、多线程处理、排序算法等。本文将对该问题进行详细的分析和解决方案...
Java 对大数据量文件内容的多线程读取和排序 在处理大数据量文件内容时,多线程读取和排序是非常重要的。下面我们将讨论如何使用 Java 对大数据量文件内容进行多线程读取和排序。 首先,我们需要生成一个随机的...
jSort页面内容排序是一种在网页开发中常见的需求,主要用于优化用户体验,使用户能更方便地找到所需信息。jSort是一个JavaScript库,它提供了一种简便的方式来实现动态的、交互式的页面内容排序。在这个专题中,我们...
在IT领域,处理二进制文件是常见的任务之一,特别是在数据存储、文件...由于没有具体的文件内容,我们无法提供关于这个文件的具体信息。如果需要进一步的帮助,比如解析这个文件或解决特定问题,需要提供更多的上下文。
QTextStream提供了方便的方法,如readLine()或>>运算符,以解析文件内容: ```cpp QTextStream in(&file); while (!in.atEnd()) { QString line = in.readLine(); // 处理每一行的数据 } ``` 描述中提到的“数据...