我想把某个盘符下面的所有txt文件读出来,然后写到一个txt文件里,请问如何实现有人提过这样的问题,可惜帖子我找不到了,麻烦了!
解决方案 »
- 请教一下判断对象是否为空是NULL写左边的原因?
- 关于在MySQL中查询数据在JTable中显示的问题
- SQL:ORA-00923
- 请问java有没有办法读取pdg格式的文件
- 急,swing中如何根据table列名长短的内容,自动调整列的宽度
- <logic:iterate>标签 name属性的问题!!
- 大家看看,这个网页上,当单击职位查询的地点时,就会出现一个像层的引导项目,感觉挺人性化的,可是怎么做的呢?大家谁知道
- 1.如何将密码框中的文本(*)变为他的真实字符? 2.如何改变JTable某一单元格的颜色?
- 如何判断当前线程是否为活动的?
- 帮我查一下问题出在哪里,高分重谢!!
- 上海 HP GDCC 的 面试题
- 从“双重检查成例”引出的一个关于线程安全的疑惑
读一行写一行,读到末尾换下一个文件也可以用环境中(windows linux)自带的命令
第二布:通过io流实现文件读写。
File file = new File("d:/");
fun(file);
} private static void fun(File f) {
if (f.isFile()) {
if (f.getAbsolutePath().indexOf(".txt") != -1) {
System.out.println(f.getName());
}
return ;
} else {
File[] list = f.listFiles();
for (File file : list) {
fun(file);
}
}
}
}
package com.hoo.utils;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;public class OperateFileUtils { /***************************************************************************
* 在java中 路径/需要替换成\\ <b>function:</b> 功能
* @createDate 2010-6-4
* @author hoo
* @param file 替换的文件
* @return 替换后的路径
*/
private static String getAvailablePath(File file) {
return file.getPath().replace('\\', '/');
} /***************************************************************************
* 返回某个文件夹下所有的文件 <b>function:</b> 功能
* @createDate 2010-6-4
* @author hoo
* @param fileList 找到的文件集合
* @param path 路径
* @param fileSuffix 要找的文件后缀
*/
public static void getFiles(List<File> fileList, String path, String fileSuffix) {
File file = new File(path);
File[] files = file.listFiles();
if (files == null) {
return;
} else {
for (int i = 0; i < files.length; i++) {
// 判断是否是文件夹
if (files[i].isDirectory()) {
// 递归调用getFiles方法,得到所有的文件
getFiles(fileList, getAvailablePath(files[i]), fileSuffix);
} else if (files[i].getName().lastIndexOf(fileSuffix) != -1) {// 只处理fileSuffix后缀的文档
// copyFileAndAddPackageName(files[i]);
fileList.add(files[i]);// 添加到文件集合中
}
// System.out.println(files[i].getAbsolutePath().replace('\\',
// '/'));
}
}
} /***************************************************************************
* 把文件内容复制到指定文件中 <b>function:</b> 功能
* @createDate 2010-6-4
* @author hoo
* @param file 要操作的文件
* @param toFile 保存的文件
*/
public static void copyFile2TempFile(List<File> fileList, File toFile) {
BufferedWriter bw = null;
BufferedReader br = null;
FileWriter fileWriter = null;
FileReader fileReader = null;
try {
StringBuilder sb = new StringBuilder();
String content = "";
for (File textFile : fileList) {
System.out.println(textFile.getName());
fileReader = new FileReader(textFile);// 读取文件的内容
br = new BufferedReader(fileReader);
while ((content = br.readLine()) != null) {
System.out.println(content);
if (!content.trim().equals("")) {
sb.append(content);// .append("\r");
}
}
}
fileWriter = new FileWriter(toFile);// 向文件中写入刚才读取文件中的内容
bw = new BufferedWriter(fileWriter);
bw.write(sb.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bw.close();
br.close();
fileWriter.close();
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} /***************************************************************************
* 读取单个文件 <b>function:</b> 功能
* @createDate 2010-6-4
* @author hoo
* @param file 读取内容的文件
* @param toFile 保存后的文件
*/
public static void copyFile2TempFile(File file, File toFile) {
BufferedWriter bw = null;
BufferedReader br = null;
FileWriter fileWriter = null;
FileReader fileReader = null;
try {
StringBuilder sb = new StringBuilder();
String content = "";
fileReader = new FileReader(file);// 读取文件的内容
br = new BufferedReader(fileReader);
while ((content = br.readLine()) != null) {
System.out.println(content);
if (!content.trim().equals("")) {
sb.append(content);// .append("\r");
}
}
fileWriter = new FileWriter(toFile);// 向文件中写入刚才读取文件中的内容
bw = new BufferedWriter(fileWriter);
bw.write(sb.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bw.close();
br.close();
fileWriter.close();
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} public static void main(String[] args) {
List<File> fileList = new ArrayList<File>();
getFiles(fileList, "c:/txt_test", ".txt");
getFiles(fileList, "c:/txt", ".txt");
// 将读取的内容放入tempFile中
File tempFile = new File("c:\\temp.txt");
// copyFile2TempFile(fileList, tempFile);
copyFile2TempFile(new File("c:\\a.txt"), tempFile);
}
}