博主打算从0-1讲解下java基础教学,今天教学第十三篇:Java中I/O和文件操作。
理解 Java 中的 I/O(输入/输出)和文件操作对于开发各种类型的应用程序都至关重要。I/O 操作涉及从文件、网络或其他数据源中读取数据,以及将数据写入到文件、网络或其他目的地。在 Java 中,可以使用
java.io
包中的类来执行各种 I/O 操作。下面是详细说明和代码教学案例!
一、文件读取(FileInputStream 和 BufferedReader)
说明:
- 使用
FileInputStream
类来打开一个文件输入流。 - 使用
BufferedReader
类包装FileInputStream
,以便一次读取一行数据。
示例代码:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileReadExample {
public static void main(String[] args) {
try {
FileInputStream fileInputStream = new FileInputStream("C:\\Users\\caozhen\\Desktop\\111.txt");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. 文件写入(FileOutputStream 和 BufferedWriter)
说明:
- 使用
FileOutputStream
类来打开一个文件输出流。 - 使用
BufferedWriter
类包装FileOutputStream
,以便一次写入一行数据。
示例代码:
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class FileWriteExample {
public static void main(String[] args) {
try {
FileOutputStream fileOutputStream = new FileOutputStream("C:\Users\caozhen\Desktop\output.txt");
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream));
bufferedWriter.write("Hello, world!");
bufferedWriter.newLine(); // 换行
bufferedWriter.write("This is a sample text.");
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 文件复制
说明:
- 使用
FileInputStream
读取源文件的内容。 - 使用
FileOutputStream
将读取的内容写入到目标文件中。
示例代码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopyExample {
public static void main(String[] args) {
try {
FileInputStream sourceStream = new FileInputStream("C:\Users\caozhen\Desktop\output.txt");
FileOutputStream targetStream = new FileOutputStream("C:\Users\caozhen\Desktop\output2.txt");
byte[] buffer = new byte[1024];
int length;
while ((length = sourceStream.read(buffer)) != -1) {
targetStream.write(buffer, 0, length);
}
sourceStream.close();
targetStream.close();
System.out.println("File copied successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
4. 文件删除
说明:
- 使用
File
类的delete()
方法来删除指定的文件。
示例代码:
import java.io.File;
public class FileDeleteExample {
public static void main(String[] args) {
File file = new File("C:\\Users\\caozhen\\Desktop\\output.txt");
if (file.exists()) {
if (file.delete()) {
System.out.println("File deleted successfully.");
} else {
System.out.println("Failed to delete the file.");
}
} else {
System.out.println("File does not exist.");
}
}
}
以上是关于 Java 中的 I/O 和文件操作的详细说明和代码教学案例。这些例子涵盖了文件读取、写入、复制和删除等常见操作,希望对您有所帮助。