package com.swift;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException; public class Copy_java_To_txt { public static void main(String[] args) {
/*
* 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
*/
try {
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(
new InputStreamReader(new FileInputStream("e:\\neck\\test.java"), "utf-8"));
String str;
while ((str = br.readLine()) != null) {
System.out.println("从文件中读取了一行...");
sb.append(str);
sb.append("\r\n");
} System.out.println("文件读取到容器成功"+"\r\n"+sb.toString()); String dir="e:\\apple";
String fileName="test.txt";
File file=new File(dir,fileName);
if(!file.getParentFile().exists()) {
System.out.println(file.getParentFile()+"目录不存在,即将创建...");
file.getParentFile().mkdirs();
}else {
System.out.println("目录存在,不用创建...");
}
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"utf-8"));
bw.write(sb.toString());
bw.flush(); } catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} }

上面是指定哪个文件进行复制

下边是搜索出所有的以.java结尾的文件复制到另一个文件夹并改名

需要用到下边的两种列表

list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组

listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组

package com.swift;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException; public class Copy_java_To_txt { public static void main(String[] args) {
/*
* 把一个文件夹下的.java文件(需要搜索所有以.java结尾的文件)复制到另一个文件夹下的.txt文件(改名为.txt的文件)
*/
File[] files = null;
try {
StringBuffer sb = new StringBuffer();
File dir_source = new File("e:\\neck");
File dir_destination = new File("e:\\apple"); if(!dir_destination.exists()) {
dir_destination.mkdirs();
} if (dir_source.exists()) {
System.out.println("搜索地址存在...");
if (dir_source.isDirectory()) {
System.out.println("此地址是一个目录...");
files = dir_source.listFiles(new FileFilter() { @Override
public boolean accept(File arg0) {
return arg0.getName().endsWith(".java");
}
});
} else {
System.out.println("此地址不是目录...");
}
} else {
System.out.println("搜索地址不存在...");
} for (File f : files) {
System.out.println(f);
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f), "utf-8"));
String str;
while ((str = br.readLine()) != null) {
System.out.println("从文件中读取了一行...");
sb.append(str);
sb.append("\r\n");
} System.out.println("一个 文件读取到容器成功" + "\r\n" + sb.toString()); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(new File(dir_destination, f.getName().replaceAll(".java", ".txt"))),
"utf-8"));
bw.write(sb.toString());
bw.flush();
sb.delete(0, sb.length());//也可以sb.setLength(0);sb= new StringBuffer();都可以清空StringBuffer }
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} }

最新文章

  1. 软件工程:Wordcount程序作业
  2. ASP.NET 路由解析
  3. 企业云部署要如何选择IaaS PaaS和SaaS
  4. BW增强数据源的两种方法
  5. 【转】Linux设备驱动之Ioctl控制
  6. VS2013中修改.dll工程项目的.lib和.dll的输出路径
  7. Asp.net MVC4 下二级联动
  8. shell脚本基本知识点
  9. (转载)理解Java中的引用传递和值传递
  10. javascript中name,value等属于保留字
  11. Oracle字符到数值转换错误
  12. OSGi类加载流程
  13. selenium处理元素定位到了点击无效问题
  14. BZOJ1005 HNOI2008明明的烦恼(prufer+高精度)
  15. python __init__.py 的作用
  16. Python(28)---模块和包的基本概念
  17. centos linux系统日常管理复习 CPU物理数逻辑核数,iftop ,iotop ,sar ,ps,netstat ,一网卡多IP,mii-tool 连接,ethtool速率,一个网卡配置多个IP,mii-tool 连接,ethtool速率 ,crontab备份, 第十八节课
  18. KVM虚拟机的日常管理与配置
  19. javascript存储器属性与数据属性
  20. Java1.0的AWT(旧AWT)和Java1.1以后的AWT(新AWT)有着很大的区别

热门文章

  1. HTML5math标签
  2. EasyPOI 教程以及完整工具类的使用
  3. [LOJ 2190] 「SHOI2014」信号增幅仪
  4. SQLServer数据库表字段超长,找到超长字段脚本
  5. [干货分享] AXURE-整套高保真UI框架和元件组(暗黑风格)
  6. 远程调试工具weinre使用教程
  7. Java基础:(四)继承
  8. 策略模式和php实现
  9. vue-cli3脚手架的配置以及使用
  10. fiddler设置只抓取某一域名请求