`
hyhandylit
  • 浏览: 67296 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

按顺序读写文件

    博客分类:
  • J2SE
阅读更多
读txt文件,然后按顺序写txt文件:

package com.file.test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Arrays;

public class Task {

	public static void main(String[] args) throws Exception {
		File fi = new File("D:/source.txt");
		File fo = new File("D:/result.txt");
		String s1;
		String[] s2;
		ArrayList<Worker> al = new ArrayList<Worker>();
		BufferedReader bf = new BufferedReader(new FileReader(fi));
		BufferedWriter bw = new BufferedWriter(new FileWriter(fo));
		while ((s1 = bf.readLine()) != null) {
			s2 = s1.split(" ");
			if (s2.length == 2) {
				al.add(new Worker(s2[0], Integer.parseInt(s2[1])));
			}
			else {
				System.out.println("文件格式有误!");
				System.exit(-1); //终止当前运行的虚拟机
			}
		}
		//***************************************
//		
//		for (Worker worker : al) {
//			String str = worker.getName();
//			int iv = worker.getSalary();
//			
//			System.out.println(str);
//			System.out.println(iv);
//		}
		//****************************************
		bf.close();
		Worker[] ws = new Worker[1];
		ws = al.toArray(ws);
		Arrays.sort(ws);
		for (int i = 0; i < ws.length; i++) {
			String s = ws[i].getName() + " " + ws[i].getSalary();
			bw.write(s);
			bw.newLine();
		}
		bw.close();
		System.out.println("排序成功,查看结果!");
	}
}

class Worker implements Comparable<Worker> {
	private String name;
	private int salary;

	public Worker(String name, int salary) {
		this.name = name;
		this.salary = salary;
	}

	public String getName() {
		return name;
	}

	public int getSalary() {
		return salary;
	}

	public int compareTo(Worker o) {
		if (this.salary > o.getSalary()) {
			return 1;
		} else if (this.salary < o.salary) {
			return -1;
		} else{
			return 0;
		}
//		return this.salary > o.getSalary() ? 1 : (this.salary < o.salary ? -1 : 0);
		
	}	
}

分享到:
评论

相关推荐

    java 按顺序读取文件

    java 按顺序读取文件 java 按顺序读取文件 java 按顺序读取文件

    33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.pdf

    33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.pdf

    vc++文件的顺序读写操作

    vc++文件的顺序读写操作

    文件的顺序读写_文件的顺序读写_

    (1)从键盘上输入两个文件的路径名及其文件名。(2)从键盘上输入若干学生的信息(姓名,数学成绩,计算机成绩,各项之间用空格隔开),以 finish结束,将这些学生的信息写入第一个文件。(3)将第一个文件作为输入...

    VB顺序文件读写操作实例

    VB顺序文件读写操作实例,本人亲自整理,适合初学者!

    行业-33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.rar

    行业-33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.rar

    C语言-文件操作之随机读写、错误检测-配合博主的文章食用

    前面介绍的对文件的读写方式都是顺序读写,即读写文件只能从头开始,顺序读写各个数据 在实际问题中:要求只读写文件中某一指定的部分,例如:读取文件第200字节处的30个字节 解决方法:可以移动文件内部的位置...

    java Apache poi 对word doc文件进行读写操作

    使用POI读写Word doc文件 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument来表示一个word doc文档

    Java Properties 解决中文乱码和顺序读写.docx

    ava中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去...

    C的文件操作

    前面介绍的对文件的读写方式都是顺序读写, 即读写文件只能从头开始,顺序读写各个数据。 但在实际问题中常要求只读写文件中某一指定的部分。 为了解决这个问题可移动文件内部的位置指针到需要读写的位置,再进行...

    matlab批量读写文件

    可以批量读取和生成顺序命名的文件,matlab代码

    C语言-文件读写操作教程全解-C中主要读写函数的解析+案例

    包括文件的打开与关闭,对文件指针赋值,顺序读写(单字符读写,字符串读写,二进制读写),随机读写与文件结束判定。本文潜入深出,用通俗易懂的语言向读者介绍了C中一系列有关读写的内容。同时文章特点突出,在...

    C语言-文件操作之顺序读写-配合博主的文章食用

    一个文件通常是磁盘上一段命名的存储区 磁盘文件(通常用的文件):指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存 设备文件(与硬件有关的文件):在操作系统中把每一个与主机相连...

    QT二进制文件读写应用程序示例

    每种格式的二进制文件都有自己的格式定义,写入数据时按照一定的顺序写入,读出时也按照相应的顺序读出。例如地球物理中常用的SEG-Y格式文件,必须按照其标准格式要求写入数据才符合这种文件的格式规范,读取数据时...

    VB6.0 顺序文件写操作的操作演示.rar

    VB6.0 顺序文件写操作的操作演示,三种方法写数据,包括了完整的源码项目下载,是学习VB文件读写操作的好范例。  这三种方法是:  把文件的内容一次性的写入  把字符一个一个写入  依次写入顺序文件

    多文件读写操作,内容排序

    多文件读写操作,内容排序,然后输出到一个文件中

    python数据清洗学习记录–文件读写

    目录python数据清洗学习记录–文件读写csv文件读写excel文件读写数据库文件的读写创建连接,连接MySQL数据保存 前期准备: #导入os模块 import os #获得当前路径地址 os.getcwd() # 更改文件路劲 os.chdir('F:\...

    vb.net读写文件代码

    StreamWriter 在其构造函数上采用一个编码参数。如果指定编码,则 Visual Basic 写入文件以指示所使用的编码。

    C语言 文件的随机读写详解及示例代码

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据。但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写。这种读写方式称为随机...

    SAX--XML文件读写

    Android SDK只支持采用SAX技术读取XML,SAX采用顺序读取的方式来处理XML文档。这就要求在每读取XML文档的某个节点时会触发相应的事件来处理这个节点。下面基于一个实例讲述SAX的使用

Global site tag (gtag.js) - Google Analytics