Ⅰ java如何把循环遍历结果输出到文本文档
首先,啊,我的眼睛!请学会截图,你的这三张图我一张都看不清!
然后我想了一下你的目的,你现在有一个学生信息数组,你是要把他们写到一个文件里是吧,这个过程叫做数据序列化或者持久化(其实文件中保存成json串或xml的形式更容易阅读数据和反序列化)因为看不清你的程序,所以我举了个例子给你看下,给你些思路。
我定义一个学生类,包括姓名和分数两个属性:
完整main函数代码:
public static void main(String[] args) throws Exception {Student s1 = new Student("张三", 90);Student s2 = new Student("李四", 59);Student s3 = new Student("王五", 85);Student[] students = new Student[]{s1, s2, s3};String filePath = "d:\student.txt";FileOutputStream fileOutputStream = null;OutputStreamWriter outputStreamWriter = null;BufferedWriter bufferedWriter = null;try {fileOutputStream = new FileOutputStream(filePath);outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");bufferedWriter = new BufferedWriter(outputStreamWriter);for (int i = 0; i < students.length; i++) {bufferedWriter.write(students[i].getName() + " " + students[i].getGrade());if (i < students.length – 1) {bufferedWriter.newLine();}}} finally {if (bufferedWriter != null) {bufferedWriter.close();}if (outputStreamWriter != null) {outputStreamWriter.close();}if (fileOutputStream != null) {fileOutputStream.close();}}}
Ⅱ 在java中如何遍历某个路径下的所有文件夹和文件
首先,我们先来遍历一下D盘根目录下所有的子文件:publicstaticvoidfileList(){Filefile=newFile("d:/");File[]files=file.listFiles();if(files!=null){for(Filef:files){System.out.println(f.getPath());}}}对此,我们肯定不满足,我们需要遍历D盘下所有的文件和文件夹,而不是根目录下的文件夹,这个时候我们需要使用到递归:publicstaticvoidfileList(Filefile){File[]files=file.listFiles();if(files!=null){for(Filef:files){System.out.println(f.getPath());fileList(f);}}}然后在主函数中调用:publicstaticvoidmain(String[]args){Filefile=newFile("d:/");fileList(file);}结果是不是能令你满意呢?显然,输出的都是全路径,我们可以对我们的递归函数做如下改进:publicstaticvoidfileList(Filefile,intnode){node++;File[]files=file.listFiles();if(files!=null){for(Filef:files){for(inti=0;i<node;i++){if(i==node-1){System.out.print("├");}else{System.out.print("");}}System.out.println(f.getName());fileList(f,node);}}}然后再次在主函数中调用:publicstaticvoidmain(String[]args){Filefile=newFile("d:/");fileList(file,0);}得到的结果是一个类似树状的结构,如果你对此还不满意,可以尝试给JTree上添加节点,可以做到和资源管理器中一样的结构。
Ⅲ javaswing遍历文件
读取文件的示例:
BufferedReaderbr=null;try{Filef=newFile("data.txt");Readerfr=newFileReader(f);br=newBufferedReader(fr);Stringline=null;while((line=br.readLine())!=null){//按行读取names.add(line);}br.close();fr.close();}catch(IOExceptione){e.printStackTrace();}finally{if(br!=null)try{br.close();}catch(IOExceptione){}}
写入文件示例:
FileWriterfw=null;try{Filef=getNotesFile();fw=newFileWriter(f);fw.write("数据行一");fw.write("数据行二");fw.flush();}catch(IOExceptione){e.printStackTrace();}finally{try{if(fw!=null)fw.close();}catch(IOExceptione){}}
Ⅳ 如何用Java遍历一个网络目录下的所有文件
java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中。 假设指定路径为path,目标集合为fileList,遍历指定路径下的所有文件,如果是目录文件则递归调用
Ⅳ java 怎么遍历 文件夹下的 文件
A.不使用递归: import java.io.File; import java.util.LinkedList; public class FileSystem { public static void main(String[] args) { long a = System.currentTimeMillis(); LinkedList list = new LinkedList(); File dir = new File("c:\\java\\"); File file[] = dir.listFiles(); for (int i = 0; i < file.length; i++) { if (file[i].isDirectory()) list.add(file[i]); else System.out.println(file[i].getAbsolutePath()); } File tmp; while (!list.isEmpty()) { tmp = list.removeFirst(); if (tmp.isDirectory()) { file = tmp.listFiles(); if (file == null) continue; for (int i = 0; i < file.length; i++) { if (file[i].isDirectory()) list.add(file[i]); else System.out.println(file[i].getAbsolutePath()); } } else { System.out.println(tmp.getAbsolutePath()); } } System.out.println(System.currentTimeMillis() – a); } }
Ⅵ java怎么循环读取目录下的文件内容
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)1.不使用递归的方法调用。public void traverseFolder1(String path) {int fileNum = 0, folderNum = 0;File file = new File(path);if (file.exists()) {LinkedList<File> list = new LinkedList<File>();File[] files = file.listFiles();for (File file2 : files) {if (file2.isDirectory()) {System.out.println("文件夹:" + file2.getAbsolutePath());list.add(file2);fileNum++;} else {System.out.println("文件:" + file2.getAbsolutePath());folderNum++;}}File temp_file;while (!list.isEmpty()) {temp_file = list.removeFirst();files = temp_file.listFiles();for (File file2 : files) {if (file2.isDirectory()) {System.out.println("文件夹:" + file2.getAbsolutePath());list.add(file2);fileNum++;} else {System.out.println("文件:" + file2.getAbsolutePath());folderNum++;}}}} else {System.out.println("文件不存在!");}System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);}2.使用递归的方法调用public static List<File> getFileList(String strPath) {File dir = new File(strPath);File[] files = dir.listFiles(); // 该文件目录下文件全部放入数组if (files != null) {for (int i = 0; i < files.length; i++) {String fileName = files[i].getName();if (files[i].isDirectory()) { // 判断是文件还是文件夹getFileList(files[i].getAbsolutePath()); // 获取文件绝对路径} else if (fileName.endsWith("avi")) { // 判断文件名是否以.avi结尾String strFileName = files[i].getAbsolutePath();System.out.println("—" + strFileName);filelist.add(files[i]);} else {continue;}}}return filelist;}
Ⅶ JAVA7如何遍历一个目录下的所有文件,如何知
1.遍历本目录下所有的文件(不包括目录的目录里的文件)import java.io.File;public class main {public static void main(String[] args) { path = "D:\\JAVA";//要遍历的路径File file = new File(path);//获取其file对象File[] fs = file.listFiles();//遍历path下的文件和目录,放在File数组中for(File f:fs){//遍历File[]数组if(!f.isDirectory())//若非目录(即文件),则打印System.out.println(f);}}}运行结果:打印出 D:/JAVA下的全部文件(包括D:/JAVA下的目录下的文件)1.遍历本目录下所有的文件(包括目录的目录里的文件)import java.io.File;import java.io.FileFilter;public class FileText {public static void main(String[] args) {String path = "D:\\JAVA";//要遍历的路径File file = new File(path);//获取其file对象func(file);}private static void func(File file){File[] fs = file.listFiles();for(File f:fs){if(f.isDirectory())//若是目录,则递归打印该目录下的文件func(f);if(f.isFile())//若是文件,直接打印System.out.println(f);}}}打印结果:打印所有文件
Ⅷ 用java怎么遍历磁盘上的所有文件
首先,我们需要获取磁盘中所有的盘符路径:jdk6中一个方法搞定:
File[]roots=File.listRoots();
然后,通过每个路径来进行向下遍历,上代码(手敲,各种小错误别怪我,看思路就好):
importjava.io.File;/**由于本人使用了junit,请自行添加main方法测试*/publicclassTest{@org.junit.Testpublicvoidtestfiles(){File[]roots=File.listRoots();for(Filef:roots){System.out.println(f.getAbsolutePath());}listFiles(roots);}publicvoidlistFiles(File[]files){if(files==null||files.length==0)return;for(Filef:files){if(f.isDirectory()){System.out.println(f.getAbsolutePath());listFiles(f.listFiles());}else{System.out.println("|"+f.getName());}}}}
Ⅸ JAVA遍历一个文件夹中的所有文件—(递归)
public void traverseFolder2(String path) {File file = new File(path);
if (file.exists()) {
File[] files = file.listFiles();
if (null == files || files.length == 0) {
System.out.println("文件夹是空的!");
return;
} else {
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath());
traverseFolder2(file2.getAbsolutePath());
} else {
System.out.println("文件:" + file2.getAbsolutePath());
}
}
}
} else {
System.out.println("文件不存在!");
}
}
(9)java遍历文件内容扩展阅读
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
File[] files = file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath());
list.add(file2);
foldeNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
fileNum++;
}
}
File temp_file;
while (!list.isEmpty()) {
temp_file = list.removeFirst();
files = temp_file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath());
list.add(file2);
folderNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
fileNum++;
}
}
}
} else {
System.out.println("文件不存在!");
}
System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);}
未经允许不得转载:山九号 » java遍历文件内容|java如何把循环遍历结果输出到文本文档