<1> 运用流传输文件

Java 是一门支持流式传输的强大编程语言。它提供了大量的 I/O 类来处理文件传输,这些类通过流的方式实现了文件读写。在这篇文章中,我们将详细介绍 Java 中如何使用流传输文件,包括使用方法和案例说明。

一. 使用方法

Java 的流是一组可以访问数据的方法,数据源可以是字节数组、文件、网络连接等。流根据数据的读取方式,被分为输入流和输出流。输入流用于从数据源中读取数据,而输出流则用于将数据写入到数据源中。下面是 Java 中的几种常见的流:

1. FileInputStream/FileOutputStream

FileInputStream 和 FileOutputStream 分别用于从文件中读取数据和向文件中写入数据。它们都是字节流,因此适用于处理二进制文件,如图片、视频、音频等。

示例代码:

```java

// 读取文件

FileInputStream fis = new FileInputStream("file.txt");

int b;

while ((b = fis.read()) != -1) {

System.out.print((char) b);

}

fis.close();

// 写入文件

FileOutputStream fos = new FileOutputStream("file.txt");

String data = "Hello World!";

fos.write(data.getBytes());

fos.close();

```

2. BufferedReader/BufferedWriter

BufferedReader 和 BufferedWriter 分别用于从字符流中读取数据和向字符流中写入数据。它们是字符流,因此适用于处理文本文件。

示例代码:

```java

// 读取文件

BufferedReader br = new BufferedReader(new FileReader("file.txt"));

String line;

while ((line = br.readLine()) != null) {

System.out.println(line);

}

br.close();

// 写入文件

BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"));

String data = "Hello World!";

bw.write(data);

bw.close();

```

3. ObjectInputStream/ObjectOutputStream

ObjectInputStream 和 ObjectOutputStream 分别用于从输入流中读取对象和向输出流中写入对象。它们用于将 Java 对象进行序列化和反序列化。

示例代码:

```java

// 序列化对象

Person p = new Person("Tom", 18);

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser"));

oos.writeObject(p);

oos.close();

// 反序列化对象

ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser"));

Person p = (Person) ois.readObject();

ois.close();

System.out.println(p.getName());

```

二. 案例说明

下面我们将介绍两个案例,分别是复制图片和写入CSV文件。

1. 复制图片

我们可以使用 FileInputStream 和 FileOutputStream 来复制图片。下面是一段代码,它将一张图片复制到另外一个文件夹中:

```java

FileInputStream fis = new FileInputStream("input.jpg");

FileOutputStream fos = new FileOutputStream("output.jpg");

byte[] buffer = new byte[1024];

int len;

while ((len = fis.read(buffer)) != -1) {

fos.write(buffer, 0, len);

}

fis.close();

fos.close();

```

2. 写入CSV文件

CSV 文件是一种常见的数据存储格式,可以使用 Java 中的 BufferedWriter 将数据写入 CSV 文件。下面是一段代码,它将一个二维数组写入到 CSV 文件中:

```java

String[][] data = {{"Name", "Age", "Gender"}, {"Tom", "18", "Male"}, {"Lucy", "20", "Female"}};

BufferedWriter bw = new BufferedWriter(new FileWriter("output.csv"));

for (String[] row : data) {

StringBuilder sb = new StringBuilder();

for (int i = 0; i < row.length; i++) {

sb.append(row[i]);

if (i < row.length - 1) {

sb.append(",");

}

}

bw.write(sb.toString());

bw.newLine();

}

bw.close();

```

以上就是 Java 中如何使用流传输文件的详细介绍。通过使用流,我们可以轻松地读写文件和处理数据,这让 Java 变得更加强大和灵活。在实际开发中,我们可以根据需要选择适当的流来进行文件传输。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(100) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部