永发信息网

怎么用JAVA把一个文件写到另个文件

答案:2  悬赏:40  手机版
解决时间 2021-03-16 06:51
怎么用JAVA把一个文件写到另个文件
最佳答案
我这个方法能读取以.js和.java结尾的文件,只需要指定.js和.java在哪个路径下即可!
可以读取多个文件写到一个目标文件中。
public class FileReader {
// 读取符合要求的文件,忽略其他文件
static boolean copy(String[] str){
// 目标文件夹,没有自动创建
File targetDir = new File("D:");
// 参数str,传入源文件夹目录以及选择的文件
File srcDir = new File(str[0]);
final String str_java = str[1];
final String str_cs = str[2];
// 源文件夹不存在,则返回
if (!srcDir.exists()) {
return false;
} else {
// 查找所有的java文件
File[] arr = srcDir.listFiles(new FileFilter() {
public boolean accept(File f) {
// 当选择时,将标识置为1
int[] arr1 = new int[3];
// 没有选择java文件
if (null == str_java || "".equals(str_java)) {
arr1[1] = 1;
}
// 没有选择cs文件
if (null == str_cs || "".equals(str_cs)) {
arr1[2] = 1;
}
// 全选
if (arr1[1] == 0 && arr1[2] == 0) {
arr1[0] = 1;
}
// 当前文件为文件夹时,返回false
if (f.isDirectory()) {
return false;
} else if (arr1[0] == 1) {
// java和cs文件
if (f.getName().endsWith(".java")) {
return f.getName().endsWith(".java");
} else if (f.getName().endsWith(".cs")) {
return f.getName().endsWith(".cs");
}
} else if (arr1[1] == 1) {
// cs文件
if (f.getName().endsWith(".cs")) {
return f.getName().endsWith(".cs");
} else {
return false;
}
} else if (arr1[2] == 1) {
// java文件
if (f.getName().endsWith(".java")) {
return f.getName().endsWith(".java");
} else
return false;
}
return false;
}
});
String targetPath = targetDir.getPath();
// 文件路径
File f = new File(targetPath);
// 如果文件夹不存在,则创建新文件夹
if (!f.exists()) {
f.mkdirs();
}
StringBuilder sb = new StringBuilder();
// 目标文件的绝对路径
String targetFile = targetPath + File.separatorChar + "Code.txt";
PrintWriter out = null;
try {
out = new PrintWriter(new BufferedWriter(
new FileWriter(targetFile)));
} catch (IOException e) {
return false;
}
int i = 0;
// 遍历符合条件的文件
for (File file : arr) {
i++;
// 截取当前文件名称
String name = file.getName();
int index = name.indexOf('.');
name = name.substring(0, index);
BufferedInputStream in = null;
try {
in = new BufferedInputStream(
new FileInputStream(file.getPath()), 8192);
} catch (FileNotFoundException e) {
return false;
}
// 缓存
byte[] buffer = new byte[4096];
int length = -1;
sb.append("对象名:" + name);
sb.append("\r\n");
// 读取数据
try {
while ((length = in.read(buffer)) != -1) {
// 读取文件
String s = new String(buffer, 0, length);
sb.append(s);
}
} catch (IOException e) {
e.printStackTrace();
}
sb.append("\r\n");
try {
in.close();
} catch (IOException e) {
return false;
}
}
out.println(sb.toString());
out.flush();
out.close();
if (i > 0) {
return true;
} else {
return false;
}
}
}
}
全部回答
用bufferread把一个文件中的内容读出来,然后写进另一个文件.如果另一个文件不存在,还要写一个创建文件的函数.所以最好前面有一个判断你指定的目录下是否存在另一个文件的判断函数.具体的你可以网上搜一下.很多实现的.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三星scx-4521f传真机可以复印 可以发就是不能
长海县大长山金盆港港务处停车场在什么地方啊
苹果appstore进去搜索不了怎么办?
哪个门户网站是中国人自己的网站
济南到东明的汽车有几点的啊?票价是多少啊?
成都永红汽车销售有限公司我想知道这个在什么
一个老女人和男孩是同事平时关系处的很好,有
在服刑人员取得受害方谅解能改判吗
CF体验服为什么总是出错误代码?
woodi高亮gba貌似很便宜 我想知道质量怎么样
是什么决定一个人胆子大小的?
什可以组什么词语
315逆变直流电焊机的直流电抗器和整流桥哪里
克东到哈尔滨有多少公里
拍权利的游戏时候布兰这个演员当时多少岁?太
推荐资讯
好手艺汽车漆面快修服务中心我想知道这个在什
龙鹏陶瓷在什么地方啊,我要过去处理事情
念头村地址在什么地方,想过去办事
杰德加什么机油好,大神进来给个建议
飞发走丝时尚烫染吧在哪里啊,我有事要去这个
爱华镇爱华社区卫生服务站在什么地方啊,我要
安徽省岳西县温泉镇,桃岭村电信光钎谁负责?
芋头去炸好后来白糖怎样做?
你那个鸡蛋汉堡机买到了吗?可否给我说一下:QQ
谁知道辽宁大学新闻传播类研究生的大体就业情
一百三十六万六千三百二十七元二角 换算成小
我想找个晚上在家能做的工作
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?