`
yue1132
  • 浏览: 10339 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java读取文件并对其排序后重新写入文件

阅读更多
读取文件中的内容并对其排序,并将其重新写入一个文件中
 	1,张三:25
     2,张斯:23
	3,张午:76
	4,张流:35
	5,张七:73
	6,张八:63
	7,张九:84
新文件格式如下:
	7,张九:84
	3,张午:76
	5,张七:73
	6,张八:63
	4,张流:35
	1,张三:25
代码如下:

package javaoo.io;

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.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 *作者:yue1132
 */
public class ReadFile {


	public static void main(String[] args) {
		BufferedReader buf = null;
		String strNum;
		try {
			//读取电脑中的文本文件
			buf = new BufferedReader(new FileReader("a.txt"));
			String str = null;
			Map map = new HashMap();
			//创建集合用来存放切取后两位得数字部分
			List<String> list = new ArrayList<String>(); 
			while((str = buf.readLine()) != null){
//				System.out.println(str);
				strNum = str.substring(str.length()-2);//截取后两位得
				//将截取的数字放到集合中方便排序
				list.add(strNum);	
				//将集合众的数字作为键,读取的每一行字符串作为值
				map.put(strNum, str);					
			}
			
			Collections.sort(list);	//根据元素的自然顺序 对指定列表按升序进行排序
			Collections.reverse(list);//将集合众的元素反序
			//用来存放排序后的字符串
			List<String> lastList = new ArrayList<String>();			
			for(int i=0;i<list.size();i++){
				//根据list中存放集合的顺序,得到map中相应键对应的值,并存放到lastList中
				lastList.add(map.get(list.get(i)).toString());		
			}
			
//			for(String s:lastList){						//打印排好的序列
//				System.out.println(s);
//			}
			//将集合写入到文件中
			BufferedWriter bufWriter = new BufferedWriter(new FileWriter("b.txt"));
			for(String s:lastList){
				bufWriter.write(s);
				System.out.println(s);
				bufWriter.newLine();//换行
			}
			bufWriter.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} 
	}

}
  
分享到:
评论

相关推荐

    Java写入大数据文件

    sqlitFileDate方法使用FileReader和BufferedReader来读取大数据文件,并使用LinkedList来存储文件流对象和BufferedWriter对象,然后将每个小文件的数据写入到对应的文件中。 在写入和切分文件操作完成后,程序使用...

    Java 大文件读取排序

    在Java编程中,处理大文件是一项挑战,特别是当涉及到读取、排序以及处理大量数据时。这个主题,"Java 大文件读取排序",主要关注如何高效地操作那些超出内存容量的大文件,同时保持程序的性能和稳定性。在本文中,...

    JAVA设计文本文件读取倒序排序

    这个名为"JAVA设计文本文件读取倒序排序"的项目,利用NetBeans IDE,实现了读取文本文件内容并进行倒序排序的功能,同时也提供了保存处理结果的能力。在这个过程中,涉及到的关键知识点包括: 1. **Java I/O流**:...

    java 大文件 多字段排序

    在Java编程中,处理大文件并进行多字段排序是一项挑战性的任务,特别是在内存有限的情况下。以下将详细讲解如何实现这个目标。 首先,我们要理解大文件排序的基本原理。当文件太大无法一次性加载到内存时,我们需要...

    java对大数据量文件内容的多线程读取和排序.doc

    Java 对大数据量文件内容的多线程读取和排序 Java 对大数据量文件内容的多线程读取和排序是非常复杂的任务,涉及到多个方面的技术,包括文件读取、多线程处理、排序算法等。本文将对该问题进行详细的分析和解决方案...

    java读取文件内容

    使用`ArrayList`存储读取的数据,利用`Collections.sort()`对列表进行排序。 示例代码: ```java List&lt;Student&gt; stus = new ArrayList(); // 读取文件并添加到列表 Collections.sort(stus); ``` #### 3.2 自定义...

    java对大数据量文件内容的多线程读取和排序.pdf

    Java 对大数据量文件内容的多线程读取和排序 在处理大数据量文件内容时,多线程读取和排序是非常重要的。下面我们将讨论如何使用 Java 对大数据量文件内容进行多线程读取和排序。 首先,我们需要生成一个随机的...

    javaGUI成绩录入和排序文件读取

    Java GUI成绩录入与排序文件读取是一个典型的桌面应用程序开发示例,主要涉及到Java Swing或JavaFX库用于构建图形用户界面,以及文件I/O操作来处理数据的存储和检索。在这个项目中,用户可以通过一个简单的界面输入...

    将文本文件a.txt中的单词排序后写入b.txt

    有文本文件a.txt,每行一个英文单词。编制Java程序,读取该文件中的所有单词,然后按照单词长度降序排列;对于长度相等的单词,按照字典顺序降序排列。最后将排序后的单词按每个一行写入另一个文件b.txt。

    二分法 文件写入读出

    在这个例子中,我们首先生成了100个随机整数,使用冒泡排序对它们进行排序,然后将排序后的结果写入"sortedData.txt"文件。之后,我们读取文件内容,用二分法查找目标值500,并打印出结果。 这个例子展示了如何在...

    从键盘输入一系列字母,将其存储到文件中,对其进行升序排序后,存到另一个文件中,并显示在屏幕上。

    在这个编程任务中,我们需要使用Java来实现一个功能:读取用户通过键盘输入的一系列字母,将这些字母排序后写入到一个新的文件中,并且在屏幕上显示排序后的结果。这个过程涉及到了文件操作、字符处理以及排序算法等...

    java 把大文件分割为小文件

    这是通过使用 FileReader 和 BufferedReader 读取大文件,然后将其写入到多个小文件中实现的。 ### 2. 文件写入 文件写入是指将数据写入到文件中。在 Java 中,可以使用 Java.IO 包中的 FileWriter 和 ...

    java:大数据文件写入,读取,分割,排序,合并

    java:大数据文件写入,读取,分割,排序,合并

    对学生成绩的排序,从文件种读取成绩

    在读取并排序了成绩后,我们需要将其写入新的文件。这涉及到文件写入操作,同样包括打开文件、写入内容和关闭文件三个步骤。在Python中,可以使用`open()`函数的写入模式('w')或追加模式('a')。为了保持文件的可读性...

    Java 读取pdf文件中的数据

    ### Java读取PDF文件中的数据 #### 知识点概览 本文将详细介绍如何使用Java语言来读取PDF文件中的文本内容。此方法简洁高效,适用于处理大量的PDF文档。主要涉及的技术栈包括Java编程基础、PDFBox库的使用以及文件I...

    data.txt文件

    一旦文件被打开,可以通过以下方法读取其内容: - `read()`: 读取整个文件。 - `readline()`: 按行读取文件。 - `readlines()`: 将文件按行读取为列表。 #### 3. 数据写入 向文件写入数据时,使用`write()`或`...

    java进阶(文件读写、递归、数组排序、单体工厂模式)

    对于文件读写,你可以看到如何打开、读取、写入和关闭文件;在递归部分,可能包含了一些递归算法的实现;数组排序的代码展示了不同排序算法的工作原理;而单体工厂模式的应用则可能体现在一个特定的类设计上。通过...

    java读取csvjava 按顺序创建文件

    如果需要按特定顺序创建文件,可能涉及排序数据或者在写入前对数据进行处理。这可以通过先将数据存储到集合(如ArrayList或LinkedList),然后根据需要的顺序遍历并写入文件来实现。 在处理CSV文件时,还需要注意...

Global site tag (gtag.js) - Google Analytics