java基础:12.8 综合练习
发布日期:2022-04-04 06:36:29 浏览次数:3 分类:博客文章

本文共 2040 字,大约阅读时间需要 6 分钟。

 

1、复制文件是常见的IO操作,设计如下方法,实现复制源文件srcFile到目标文件destFile

public static void copyFile(String srcFile, String destFile){
}

/**
 * 复制文件
 * @param srcFile 原文件/地址
 * @param destFile 复制后的文件/地址
 */
public static void copyFile(String srcFile, String destFile){
File f = new File(srcFile);
File fout = new File(destFile);
if(fout.canExecute())
fout.delete();
try(FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(fout))
{
 byte[] all = new byte[(int)f.length()];
 fis.read(all);
 fos.write(all);
 
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

 
 

2、复制文件夹,实现如下方法,把源文件夹下所有的文件 复制到目标文件夹下(包括子文件夹)

public static void copyFolder(String srcFolder, String destFolder){
}

/**
* 拷贝文件夹
 * @param srcFolder 要拷贝的文件夹
 * @param destFolder 目的地文件夹
 */
public static void copyFolder(String srcFolder, String destFolder){
File file = new File(srcFolder);
try {
for(File x:file.listFiles()) {
if(x.isFile()) {
new File(destFolder + "\\" + x.getName()).getParentFile().mkdirs();
copyFile(x.getAbsolutePath(),destFolder+"\\"+x.getName());
}
if(x.isDirectory()) {
new File(destFolder + "\\" + x.getName()).getParentFile().mkdirs();
copyFolder(x.getAbsolutePath(), destFolder + "\\" + x.getName());
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}

 
 

3、假设你的项目目录是 e:/project,遍历这个目录下所有的java文件(包括子文件夹),找出文件内容包括main的那些文件,并打印出来。

public static void search(File folder, String search);

/**
 * 在搜索文件夹搜索指定内容
 * @param folder 指定搜索的文件夹
 * @param search 搜索关键字
 */
public static void search(File folder, String search) {
if(folder.exists()) {
File[] file = folder.listFiles();
try {
for(File listfile : file) {
if(listfile.isFile()) {
FileReader fr = new FileReader(listfile);
int len = 0;
char[] ch = new char[1024];
while((len=fr.read(ch))!= -1) {
String str = String.valueOf(ch);
if(str.contains(search))
 System.out.println("找到子目标字符串"+search+",在文件:"+listfile.getAbsolutePath());
}
fr.close();
}
else
search(listfile,search);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
else
System.out.println("文件错误。"); 
}

转载地址:https://www.cnblogs.com/l20902/p/10610880.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java基础:12.9 File类总结、stream流总结
下一篇:java基础:12.7 对象流 ObjectInputStream、ObjectOutputStream

发表评论

最新留言

第一次来,支持一个
[***.249.68.14]2022年05月26日 04时26分24秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章