//列出E:\\java\\test\\Demo目录下的后缀为.txt的文件名
package demo;import java.io.*;
class Demo {
public static void main(String[] args)throws IOException{
File f=new File("E:\\java\\test\\Demo");
String[] names=f.list(new FilenameFilter(){//通过查看源码易知内部调用了list()方法先得到所有的文件名放在一数组内,再循环遍历数组,循环内判断accept()方法是否为真,真则将此文件名加入一集合内,accpt()方法的真假我们通过重写来定义(这里就是过滤条件),最后将集合转为数组返回就得到了过滤后的数组,打印即可。
public boolean accept(File dir,String name){
if(name.endsWith(".txt")){
return true;
}
return false;
}
});
for(String i:names){
System.out.println(i);
}
}
}
//列出E:\\java\\test\\Demo目录下的所有目录和文件,并按层次输出
package demo;
import java.io.*;
class Demo {
public static void main(String[] args)throws IOException{
File dir=new File("E:\\java\\test\\Demo");
showDir(dir,0);
}
public static String level(int n){
StringBuilder sb=new StringBuilder();
sb.append("|--");
for(int x=0;x<n;x++){
sb.insert(0," ");
}
return sb.toString();
}
public static void showDir(File dir,int level){
System.out.println(level(level)+dir.getName());
level++;
File[] file=dir.listFiles();
for(int x=0;x<file.length;x++){
if(file[x].isDirectory()&&!file[x].isHidden()){ //(注意:某些隐藏文件可能无法访问,无法访问就会导致返回的File[]为null,之就会报空指针异常,所以先判断是否为隐藏文件)
showDir(file[x],level);
}else{
System.out.println(level(level)+file[x].getName());
}
}
}
}
//删除E:\\java\\test\\Demo\\C目录下的所有目录和文件.
package it.demo;
import java.io.File;
public class Demo {
public static void main(String[] args) {
File dir=new File("E:\\java\\test\\Demo\\C");
removeDir(dir);
}
public static void removeDir(File dir){
System.out.println(dir);
File[] files=dir.listFiles();
for(File f:files){
if(f.isDirectory()&&!f.isHidden()){
removeDir(f);
}else{
System.out.println("删除文件"+f.toString()+f.delete());
}
}
System.out.println("删除文件夹"+dir.toString()+dir.delete());
}
}
//列出E:\\java\\test\\Demo\\C目录下的所有文件写到D:\\a.txt文件里
package it.demo;
import java.io.*;
import java.util.ArrayList;
class Demo {
public static void main(String[] args) throws IOException {
File dir=new File("E:\\java\\test\\Demo\\C");
ArrayList<File> list=new ArrayList<File>();
fileToList(dir,list);
File file=new File("D:\\a.txt");
listToWrite(list,file.toString());
}
public static void fileToList(File dir,ArrayList<File> list){
File[] files=dir.listFiles();
for(File f:files){
if(f.isDirectory()){
fileToList(f,list);
}else{
if(f.getName().endsWith(".txt"))
list.add(f);
}
}
}
public static void listToWrite(ArrayList<File> list,String fileName){
BufferedWriter bf=null;
try {
bf=new BufferedWriter(new FileWriter(fileName));
for(File f:list){
String path=f.getAbsolutePath();
bf.write(path);
bf.newLine();
bf.flush();
}
} catch (IOException e) {
throw new RuntimeException();
}finally{
try {
bf.close();
} catch (IOException e) {
throw new RuntimeException();
}
}
}
}
//Properties配置文件的加载与存储
package it.demo;
import java.io.*;
import java.util.Properties;
class Demo {
public static void main(String[] args) throws IOException {
loadDemo();
}
public static void loadDemo()throws IOException
{
Properties prop=new Properties();
FileInputStream fis=new FileInputStream("E:\\java\\test\\Demo\\C\\a.txt");
prop.load(fis);
prop.setProperty("wangwu", "21");
FileOutputStream fos=new FileOutputStream("E:\\java\\test\\Demo\\C\\a.txt");
prop.store(fos, "haha");
}
}