1.将字节流转换为字符缓冲流,并进行换行读写内容 2.使用File,输出文件的父路径,绝对路径,文件名,长度等 3.使用File创建文件/文件夹 4.使用FileNameFilter接口完成后缀为txt文件的查找 选做(不交): 5.删除指定目录,注意,非空目录不能直接删除,需要先将文件删除后,才能删除空目录--使用递归删除
时间: 2023-09-20 14:08:07 浏览: 87
1. 将字节流转换为字符缓冲流,并进行换行读写内容
```java
import java.io.*;
public class ByteToCharStream {
public static void main(String[] args) throws IOException {
// 字节流读取文件
FileInputStream fis = new FileInputStream("input.txt");
// 将字节流转换为字符流,指定编码方式为UTF-8
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
// 将字符流包装为字符缓冲流
BufferedReader br = new BufferedReader(isr);
// 字符流写入文件
FileOutputStream fos = new FileOutputStream("output.txt");
// 将字节流转换为字符流,指定编码方式为UTF-8
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
// 将字符流包装为字符缓冲流
BufferedWriter bw = new BufferedWriter(osw);
// 读取文件内容并写入到输出文件中
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine(); // 换行
}
// 关闭流
br.close();
isr.close();
fis.close();
bw.close();
osw.close();
fos.close();
}
}
```
2. 使用File输出文件的父路径、绝对路径、文件名、长度等
```java
import java.io.File;
public class FileInfo {
public static void main(String[] args) {
File file = new File("input.txt");
// 输出文件的父路径
System.out.println("文件的父路径: " + file.getParent());
// 输出文件的绝对路径
System.out.println("文件的绝对路径: " + file.getAbsolutePath());
// 输出文件名
System.out.println("文件名: " + file.getName());
// 输出文件长度
System.out.println("文件长度(字节): " + file.length());
}
}
```
3. 使用File创建文件/文件夹
```java
import java.io.File;
import java.io.IOException;
public class CreateFileOrDir {
public static void main(String[] args) throws IOException {
// 创建文件
File file = new File("test.txt");
if (!file.exists()) {
file.createNewFile();
}
// 创建文件夹
File dir = new File("test");
if (!dir.exists()) {
dir.mkdir();
}
}
}
```
4. 使用FileNameFilter接口完成后缀为txt文件的查找
```java
import java.io.File;
import java.io.FilenameFilter;
public class TxtFileFilter {
public static void main(String[] args) {
File dir = new File(".");
File[] files = dir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
for (File file : files) {
System.out.println(file.getName());
}
}
}
```
5. 删除指定目录,注意,非空目录不能直接删除,需要先将文件删除后,才能删除空目录——使用递归删除
```java
import java.io.File;
public class DeleteDir {
public static void main(String[] args) {
File dir = new File("test");
deleteDir(dir);
}
public static void deleteDir(File dir) {
if (dir.isDirectory()) {
File[] files = dir.listFiles();
for (File file : files) {
deleteDir(file);
}
}
dir.delete();
}
}
```
需要注意的是,在删除非空目录之前,需要先递归地删除该目录下的所有文件和子目录。
阅读全文