「java读取文件顺序」java读取文件并排序
今天给各位分享java读取文件顺序的知识,其中也会对java读取文件并排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java 读取文件内容并按顺序赋值并且可调用
- 2、JAVA怎么从一个目录中依次读取所有文件
- 3、Java 下如何依次读取一个目录下的所有文件
- 4、求助大神~~~java按时间顺序,读取文件夹下的所有文件(时间最早的先读取,就是最老的那个)
- 5、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读取文件并排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。