「java读取文件顺序」java读取文件并排序

博主:adminadmin 2023-03-17 04:23:07 377

今天给各位分享java读取文件顺序的知识,其中也会对java读取文件并排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java 读取文件内容并按顺序赋值并且可调用

你需要的不是将内容设置为变量X的值,而是需要一个Map。

一:读取文件列表

二:读取文件

三:读取每一行

四:map.put(name, value);

JAVA怎么从一个目录中依次读取所有文件

File f = new File(path);

File[] t = f.listFiles(); 这个方法来读取这个目录下的文件 。

Java 下如何依次读取一个目录下的所有文件

public class Main {

    public static void main(String[] args) {

        File folder = new File(".");

        // 获取这个目录下的所有文件

        File[] files = folder.listFiles();

        // 遍历文件并处理

        for (File file : files) {

            // 处理文件

            System.out.println(file.getName());

        }

    }

}

求助大神~~~java按时间顺序,读取文件夹下的所有文件(时间最早的先读取,就是最老的那个)

/**

 * @param args

 */

public static void main(String[] args) {

String path = "d:\\test";

ListFile list = getFileSort(path);

for (File file : list) {

System.out.println(file.getName() + " : " + file.lastModified());

}

}

/**

 * 获取目录下所有文件(按时间排序)

 * 

 * @param path

 * @return

 */

public static ListFile getFileSort(String path) {

ListFile list = getFiles(path, new ArrayListFile());

if (list != null  list.size()  0) {

Collections.sort(list, new ComparatorFile() {

public int compare(File file, File newFile) {

if (file.lastModified()  newFile.lastModified()) {

return 1;

} else if (file.lastModified() == newFile.lastModified()) {

return 0;

} else {

return -1;

}

}

});

}

return list;

}

/**

 * 

 * 获取目录下所有文件

 * 

 * @param realpath

 * @param files

 * @return

 */

public static ListFile getFiles(String realpath, ListFile files) {

File realFile = new File(realpath);

if (realFile.isDirectory()) {

File[] subfiles = realFile.listFiles();

for (File file : subfiles) {

if (file.isDirectory()) {

getFiles(file.getAbsolutePath(), files);

} else {

files.add(file);

}

}

}

return files;

}

JAVA读取文件 排序 写出文件

我特意写的规范了一些

楼主看一下希望有帮助吧

12楼写的太混乱了 3楼和我这个异曲同工吧

我建了Sutdent的类和对象 用接口进行了排序 这样方便一点感觉 最好不要用一对字符串当处理的对象 很混乱 组织成对象好些

如果不是遍历 是取出某有个特定下标的值 数组最好不要用数字 用有特殊意义的常量

这样可读性更强些

文件每行是一个记录的 用BufferReader和Writer最恰当 因为有readLine和writeLine方法

用集合类进行管理感觉对这种问题比较合适

这样复用性强一些感觉

还有可以改进的地方 感觉用串行化更好 但要是非输出文本 就这样吧

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileReader;

import java.io.FileWriter;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

public class Manager {

private BufferedReader input;

private BufferedWriter output;

private ArrayListStudent students;//存放所有的学生对象的List

//读入文件

public void read() {

students = new ArrayListStudent();

try {

this.input = new BufferedReader(new FileReader("C:\\Users\\Administrator\\Desktop\\2.txt"));

String s = new String();

while ((s = input.readLine()) != null) {

String[] nameAndScore = s.split(" ");

this.students.add(new Student(nameAndScore[Student.NAME],

Integer.parseInt(nameAndScore[Student.SCORE])));

}

this.sort();//按分数将学生排序

this.input.close();

} catch (Exception ex) {

ex.printStackTrace();

}

}

//写回文件

public void write() {

try {

this.output = new BufferedWriter(new FileWriter("C:\\Users\\Administrator\\Desktop\\3.txt"));

for (Student s : this.students) {

output.write(s.toString(), 0, s.toString().length());

output.newLine();

}

this.output.write(String.valueOf(this.average()), 0, String.valueOf(this.average()).length());//写入平均值

this.output.close();

} catch (Exception ex) {

ex.printStackTrace();

}

}

//排序

private void sort() {

Collections.sort(this.students, new ComparatorStudent() {

public int compare(Student o1, Student o2) {

return o2.getScore() - o1.getScore();

}

});

}

//求平均值

public float average() {

float average = (float) 0;

for (Student s : this.students) {

average += s.getScore();

}

return average / (this.students.size());

}

public static void main(String[] args) {

Manager m = new Manager();

m.read();

m.write();

}

}

//Student类

class Student {

private String name;

private int score;

public static int NAME = 0;

public static int SCORE = 1;

public Student(String name, int score) {

this.name = name;

this.score = score;

}

public int getScore() {

return score;

}

@Override

public String toString() {

return name + " " + score;

}

}

关于java读取文件顺序和java读取文件并排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。