1、搜索磁盘上某个目录下的所有文件(包括子文件夹)
package com.qf.home;
import java.io.File;
public class Home01 {
public static void main(String[] args) {
File file = new File("C:/Users/Administrator/Desktop/a");
readFile(file);
}
private static void readFile(File f) {
if(f.isDirectory()){
File[] listFiles = f.listFiles();
if(listFiles != null){
for (File file : listFiles) {
readFile(file);
}
}
}else{
System.out.println(f.getName());
}
}
}
2、读取磁盘上一个文本文件的内容
package com.qf.home;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
public class Home02 {
public static void main(String[] args) {
try {
File file = new File("C:/Users/Administrator/Desktop/b.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String readLine = null;
while((readLine = bufferedReader.readLine()) != null){
System.out.println(readLine);
}
fileReader.close();
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3、将一首古诗内容写入一个txt文件
package com.qf.home;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
public class Home03 {
public static void main(String[] args) {
try {
File file = new File("C:/Users/Administrator/Desktop/c.txt");
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write("静夜思");
bufferedWriter.newLine();
bufferedWriter.write("床前明月光,");
bufferedWriter.newLine();
bufferedWriter.write("疑是地上霜;");
bufferedWriter.newLine();
bufferedWriter.write("举头望明月,");
bufferedWriter.newLine();
bufferedWriter.write("低头思故乡。");
bufferedWriter.flush();
bufferedWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
4、将a文件的内容复制到b文件中
package com.qf.home;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class Home04 {
public static void main(String[] args) {
try {
File file = new File("C:/Users/Administrator/Desktop/b.txt");
File file1 = new File("C:/Users/Administrator/Desktop/d.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
FileWriter fileWriter = new FileWriter(file1);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
String s = null;
while((s = bufferedReader.readLine()) != null){
bufferedWriter.write(s);
bufferedWriter.newLine();
bufferedWriter.flush();
}
fileReader.close();
bufferedReader.close();
fileWriter.close();
bufferedWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5、文本文件中有一些敏感词语,如:吉你抬没,傻X等,需要对所有敏感词进行屏蔽(替换为*),将替换后的文字保存到新的文件中
package com.qf.home;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class Home05 {
public static void main(String[] args) {
String[] senList = {"傻叉","狗叼","草利马"};
try {
File file = new File("C:/Users/Administrator/Desktop/b.txt");
File file1 = new File("C:/Users/Administrator/Desktop/e.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
FileWriter fileWriter = new FileWriter(file1);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
String s = null;
while ((s = bufferedReader.readLine()) != null) {
for (String string : senList) {
s=s.replace(string,"*");
}
bufferedWriter.write(s);
bufferedWriter.newLine();
bufferedWriter.flush();
}
fileReader.close();
bufferedReader.close();
fileWriter.close();
bufferedWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
6、搜索某个目录中所有的jpg文件,全部复制到C:\images目录中
package com.qf.home;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.InputStream;
import java.io.OutputStream;
public class Home06 {
public static void main(String[] args) {
try {
File file1 = new File("C:\\Users\\Administrator\\Desktop\\img");
readFile(file1);
} catch (Exception e) {
e.printStackTrace();
}
}
private static void readFile(File f) {
String path = f.getPath();
String newPath = path.replace("C:\\Users\\Administrator\\Desktop\\img", "C:\\Users\\Administrator\\Desktop\\images");
if (f.isDirectory()) {
File directorFile = new File(newPath);
if (!directorFile.exists()) {
directorFile.mkdir();
}
File[] listFiles = f.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File currentFile = new File(dir + File.separator + name);
if(currentFile.exists() && currentFile.isDirectory()) {
return true;
}
if(name.endsWith(".jpg")) {
if(currentFile.length() < 1024 * 1024) {
return true;
}else {
return false;
}
}else {
return false;
}
}
});
if (listFiles != null) {
for (File file : listFiles) {
readFile(file);
}
}
} else {
File newFile = new File(newPath);
copyFile(f, newFile);
}
}
public static void copyFile(File srcFile, File destFile) {
try {
InputStream is = new FileInputStream(srcFile);
BufferedInputStream bis = new BufferedInputStream(is);
OutputStream os = new FileOutputStream(destFile);
BufferedOutputStream bos = new BufferedOutputStream(os);
int len;
byte[] buffer = new byte[1024];
while((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
bos.flush();
}
is.close();
bis.close();
os.close();
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}