注意:所有IO操作均需在finally中手动关闭
1.读取指定文件内全部内容
String path = File.separator + "app" + File.separator + "test.txt";
File file = new File(path);
reader = new FileReader(file);
char[] bb = new char[1024];
StringBuffer allUploadFilePath = new StringBuffer();
// 每次读取到的字符长度
int n;
while ((n = reader.read(bb)) != -1) {
allUploadFilePath.append(new String(bb, 0, n));
}
2.追加内容到指定文件
FileOutputStream fileOutputStream = null;
OutputStreamWriter outputStreamWriter = null;
BufferedWriter bufferedWriter = null;
File file = new File("D:/test.txt");
fileOutputStream = new FileOutputStream(file, true);
outputStreamWriter = new OutputStreamWriter(fileOutputStream);
bufferedWriter = new BufferedWriter(outputStreamWriter);
for (String conent : allFilePath) {
bufferedWriter.write("," + conent);
}
3.递归某目录下全部文件
/**
- 获取路径下的所有文件/文件夹
- @param directoryPath 目标路径(父级,
- 如遍历:
- 文件夹1
- 文件1
- 文件夹2
- 文件2
- 则写文件夹1全路径即可
) - @param list 返回路径的集合
*/
public static void readfile(String directoryPath, List list) {
File file = new File(directoryPath);
if (!file.isDirectory()) {
} else if (file.isDirectory()) {list.add(file.getAbsolutePath());
}String[] filelist = file.list(); for (int i = 0; i < filelist.length; i++) { File readfile = new File(directoryPath + File.separator + filelist[i]); if (!readfile.isDirectory()) { list.add(readfile.getAbsolutePath()); } else if (readfile.isDirectory()) { readfile(readfile.getAbsolutePath(), list); } }
}