1 对一个目录,使用递归方法,遍历出所有包含的文件和目录。 2 选择合适的流,将程序中的字符串“我爱学java。”写到操作系统文件“学java.txt”中。 3 选择合适的流,将一个视频文件从一个目录拷贝到另一个目录。 4 选择合适的流,将一个使用GBK编码的txt文件从一个目录拷贝到另一个目录,拷贝得到的文件中不能出现乱码。
时间: 2024-02-17 09:03:25 浏览: 68
学习java的方法
1. 以下是使用递归方法遍历目录的示例代码:
```java
import java.io.File;
public class TraverseDirectory {
public static void main(String[] args) {
String path = "your_directory_path";
File directory = new File(path);
traverse(directory);
}
public static void traverse(File directory) {
if (directory.isDirectory()) {
File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
System.out.println("Directory: " + file.getAbsolutePath());
traverse(file);
} else {
System.out.println("File: " + file.getAbsolutePath());
}
}
}
}
}
}
```
2. 以下是使用字符流将字符串写入文件的示例代码:
```java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class WriteToFile {
public static void main(String[] args) {
String fileName = "学java.txt";
String content = "我爱学java.";
try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
writer.write(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
3. 以下是使用字节流将一个视频文件从一个目录拷贝到另一个目录的示例代码:
```java
import java.io.*;
public class CopyFile {
public static void main(String[] args) {
String sourceFilePath = "source_file_path";
String targetFilePath = "target_file_path";
try (InputStream inputStream = new FileInputStream(sourceFilePath);
OutputStream outputStream = new FileOutputStream(targetFilePath)) {
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
4. 以下是使用字符流将一个使用GBK编码的txt文件从一个目录拷贝到另一个目录的示例代码:
```java
import java.io.*;
public class CopyGBKFile {
public static void main(String[] args) {
String sourceFilePath = "source_file_path";
String targetFilePath = "target_file_path";
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream(sourceFilePath), "GBK"));
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(targetFilePath), "GBK"))) {
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
注意:在使用以上代码时,需要将 `your_directory_path`、`source_file_path` 和 `target_file_path` 替换成实际的目录路径和文件路径。
阅读全文