java读取文件问题,请高手解决! java读取文件夹所有文件名,在JSP页面按文件创建时间排序列出文件名。请高手帮忙解决,最好直接附上代码,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用apache common io的 org.apache.commons.io.FileUtils.listFiles() 可以直接用java i/o部分写的,FileReader读的时候 "文件夹路径/文件夹名/*"来取所有文件用readline()显示出来创建时间的相关函数查查api FileReader读取文件并调用lastModified()方法返回它的创建时间。 给你一个按时间倒排的代码,仅供参考。package io;import java.io.File;import java.io.FileFilter;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Comparator;import java.util.Date;import java.util.List;import edu.emory.mathcs.backport.java.util.Arrays;import edu.emory.mathcs.backport.java.util.Collections;public class DirReader { public static void main(String[] args) { // 时间输出格式 年-月-日 时:分:秒 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); File dir = new File("D:/Software"); // 获取目录 if (dir.isDirectory()) { File[] files = dir.listFiles(new DirFilter()); // 获取当前目录中的文件 List<File> sortedFiles = new ArrayList<File>(); Collections.addAll(sortedFiles, files); // 将获取的File对象放入list中以供排序使用 Collections.sort(sortedFiles, new FileTimeComparator()); // 排序 for (File file : sortedFiles) { String lastModified = sdf.format(new Date(file.lastModified())); System.out.printf("%-40s %19s\n", file.getName(), lastModified); } } } private static class DirFilter implements FileFilter { /** * 过滤目录,只获取文件对象 */ public boolean accept(File file) { return !file.isDirectory(); } } private static class FileTimeComparator implements Comparator<File> { /** * 按文件修改时间比较 */ public int compare(File o1, File o2) { long lastModified1 = o1.lastModified(); long lastModified2 = o2.lastModified(); // lastModified1 > lastModified2 返回小于0是因为要到排序,如果升序则改为 // lastModified1 > lastModified2 ? 1 : (lastModified1 == lastModified2 ? 0 : -1); return lastModified1 > lastModified2 ? -1 : (lastModified1 == lastModified2 ? 0 : 1); } }} 刚才的代码导入的包不对,修改了一下,请见谅package io;import java.io.File;import java.io.FileFilter;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Date;import java.util.List;/** * @author yuqin.zhang */public class DirReader { public static void main(String[] args) { // 时间输出格式 年-月-日 时:分:秒 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); File dir = new File("D:/Software"); // 获取目录 if (dir.isDirectory()) { File[] files = dir.listFiles(new DirFilter()); // 获取当前目录中的文件 List<File> sortedFiles = new ArrayList<File>(); Collections.addAll(sortedFiles, files); // 将获取的File对象放入list中以供排序使用 Collections.sort(sortedFiles, new FileTimeComparator()); // 排序 for (File file : sortedFiles) { String lastModified = sdf.format(new Date(file.lastModified())); System.out.printf("%-40s %19s\n", file.getName(), lastModified); } } } private static class DirFilter implements FileFilter { /** * 过滤目录,只获取文件对象 */ public boolean accept(File file) { return !file.isDirectory(); } } private static class FileTimeComparator implements Comparator<File> { /** * 按文件修改时间比较 */ public int compare(File o1, File o2) { long lastModified1 = o1.lastModified(); long lastModified2 = o2.lastModified(); // lastModified1 > lastModified2 返回小于0是因为要到排序,如果升序则改为 // lastModified1 > lastModified2 ? 1 : (lastModified1 == lastModified2 ? 0 : -1); return lastModified1 > lastModified2 ? -1 : (lastModified1 == lastModified2 ? 0 : 1); } }} String getdir="F:\\haha; File filedir=new File(getdir);File[] files=filedir.listFiles(); //获得F:\haha文件夹下的所有文件名 String[] filesname = new String[files.length];for (int i = 0; i < filesname.length; i++) { filesname[i]=files[i].toString(); //将所有文件名赋给filesname字符串数组}遍历文件夹 HttpClient怎么实现百度搜索 J2SE能开发出类似PP、风行、迅雷在线看视频功能??(急!急!) 怎么设定文本区域为不可编辑区域? 获取光标位置?? 为什么使用如下循环只能显示文本的第一行??? 如何把一张图片下载到本地? JDialog的显示位置的问题 java类库中的一个问题! 怎样使JAVA的UI程序运行时不打开输入法? 我用Jar打包为什么不能正常显示? 请教 轩辕互动 面试经验 关于hsahcode()
用readline()显示出来
创建时间的相关函数查查api
package io;import java.io.File;
import java.io.FileFilter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;import edu.emory.mathcs.backport.java.util.Arrays;
import edu.emory.mathcs.backport.java.util.Collections;public class DirReader { public static void main(String[] args) {
// 时间输出格式 年-月-日 时:分:秒
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
File dir = new File("D:/Software"); // 获取目录
if (dir.isDirectory()) {
File[] files = dir.listFiles(new DirFilter()); // 获取当前目录中的文件
List<File> sortedFiles = new ArrayList<File>();
Collections.addAll(sortedFiles, files); // 将获取的File对象放入list中以供排序使用
Collections.sort(sortedFiles, new FileTimeComparator()); // 排序
for (File file : sortedFiles) {
String lastModified = sdf.format(new Date(file.lastModified()));
System.out.printf("%-40s %19s\n", file.getName(), lastModified);
}
}
} private static class DirFilter implements FileFilter { /**
* 过滤目录,只获取文件对象
*/
public boolean accept(File file) {
return !file.isDirectory();
}
} private static class FileTimeComparator implements Comparator<File> { /**
* 按文件修改时间比较
*/
public int compare(File o1, File o2) {
long lastModified1 = o1.lastModified();
long lastModified2 = o2.lastModified();
// lastModified1 > lastModified2 返回小于0是因为要到排序,如果升序则改为
// lastModified1 > lastModified2 ? 1 : (lastModified1 == lastModified2 ? 0 : -1);
return lastModified1 > lastModified2 ? -1 : (lastModified1 == lastModified2 ? 0 : 1);
}
}}
package io;import java.io.File;
import java.io.FileFilter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;/**
* @author yuqin.zhang
*/
public class DirReader { public static void main(String[] args) {
// 时间输出格式 年-月-日 时:分:秒
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
File dir = new File("D:/Software"); // 获取目录
if (dir.isDirectory()) {
File[] files = dir.listFiles(new DirFilter()); // 获取当前目录中的文件
List<File> sortedFiles = new ArrayList<File>();
Collections.addAll(sortedFiles, files); // 将获取的File对象放入list中以供排序使用
Collections.sort(sortedFiles, new FileTimeComparator()); // 排序
for (File file : sortedFiles) {
String lastModified = sdf.format(new Date(file.lastModified()));
System.out.printf("%-40s %19s\n", file.getName(), lastModified);
}
}
} private static class DirFilter implements FileFilter { /**
* 过滤目录,只获取文件对象
*/
public boolean accept(File file) {
return !file.isDirectory();
}
} private static class FileTimeComparator implements Comparator<File> { /**
* 按文件修改时间比较
*/
public int compare(File o1, File o2) {
long lastModified1 = o1.lastModified();
long lastModified2 = o2.lastModified();
// lastModified1 > lastModified2 返回小于0是因为要到排序,如果升序则改为
// lastModified1 > lastModified2 ? 1 : (lastModified1 == lastModified2 ? 0 : -1);
return lastModified1 > lastModified2 ? -1 : (lastModified1 == lastModified2 ? 0 : 1);
}
}}
File filedir=new File(getdir);
File[] files=filedir.listFiles(); //获得F:\haha文件夹下的所有文件名
String[] filesname = new String[files.length];
for (int i = 0; i < filesname.length; i++) {
filesname[i]=files[i].toString(); //将所有文件名赋给filesname字符串数组
}遍历文件夹