package com.kingsoft.main;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class TestIO03 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
InputStream ins = new FileInputStream(
"E:\\tools\\FreeMind-Windows-Installer-0.8.1-max.exe");
OutputStream ous = new FileOutputStream(
"D:\\FreeMind-Windows-Installer-0.8.1-max.exe_bk");
byte[] contents = new byte[ins.available()];
long start = System.currentTimeMillis();
// 读取文件
int i = 0;
int count = 0;
while ((i = ins.read()) != -1) {
contents[count] = (byte) i;
count++;
}
long end = System.currentTimeMillis();
System.out.println("读取耗时:" + (end - start) + "毫秒");
start = System.currentTimeMillis();
// 输出文件
for (int j = 0; j < contents.length; j++) {
ous.write(contents[j]);
}
end = System.currentTimeMillis();
System.out.println("读取耗时:" + (end - start) + "毫秒");
ins.close();
ous.flush();
ous.close();
}
}
执行结果如下:
读取耗时:13329毫秒
读取耗时:16083毫秒
InputStream ins = new FileInputStream(
"E:\\tools\\FreeMind-Windows-Installer-0.8.1-max.exe");
OutputStream ous = new FileOutputStream(
"D:\\FreeMind-Windows-Installer-0.8.1-max.exe_bk");
long start = System.currentTimeMillis();
int i = 0;
while ((i = ins.read()) != -1) {
ous.write(i);
}
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start) + "毫秒");
ins.close();
ous.flush();
ous.close();
执行结果如下:
耗时:30013毫秒
InputStream ins = new FileInputStream(
"E:\\tools\\FreeMind-Windows-Installer-0.8.1-max.exe");
OutputStream ous = new FileOutputStream(
"D:\\FreeMind-Windows-Installer-0.8.1-max.exe_bk");
byte[] contents = new byte[ins.available()];
long start = System.currentTimeMillis();
ins.read(contents);
ous.write(contents);
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start) + "毫秒");
ins.close();
ous.flush();
ous.close();
执行结果如下:
耗时:2384毫秒
分享到:
相关推荐
它使用`FileInputStream`和`FileOutputStream`类来打开文件流,然后使用循环来读取源文件的内容并将其写入到目标文件中。 main()方法的实现 在`main()`方法中,我们创建了一个`Main`对象,并调用其`copy()`方法来...
例如,`File`类用于文件和目录路径名的表示,`FileInputStream`和`FileOutputStream`用于读写文件,`Files`类提供了一套静态方法,简化了文件操作,包括复制、移动和删除等。 2. **流(Stream)**:在Java中,文件...
2. **文件读取**:在发送端,使用`FileInputStream`打开要拷贝的本地文件,然后通过`Socket`的`OutputStream`逐块读取并发送文件内容。为了提高效率,可以考虑使用缓冲区(如`BufferedInputStream`)来减少磁盘I/O...
在Java中,文件拷贝是常见的数据操作之一,涉及到数据的读取和写入。文件拷贝可以通过标准的IO流来实现,其中主要有两种不同的拷贝方案。 第一种方案是将文件内容一次性读取到内存中,然后再一次性写入到目标文件。...
首先,Java.IO类库提供了一种基于`FileInputStream`和`FileOutputStream`的文件拷贝方式。这种实现方式简单直观,通过读取源文件并写入目标文件,每次读取和写入一个缓冲区的数据。代码如下: ```java public ...
在IT行业中,文件操作是日常开发中的基础任务之一,而“简单的文件拷贝 simpleFileCopy”这个项目就涉及到了如何在Java中实现文件和文件夹的复制功能。在这个过程中,我们通常会涉及到文件的比较、读取、写入等多个...
除了上述的`FileInputStream`和`FileOutputStream`之外,还有`RandomAccessFile`用于随机访问文件,`FileReader`和`FileWriter`用于读写字符数据,以及`Files`类提供的更高级别的操作,如`copy()`方法可以方便地完成...
我们可以通过FileInputStream和FileOutputStream读写文件,配合BufferedInputStream和BufferedOutputStream提高效率。在拷贝过程中,我们需要计算已拷贝的字节数,以此更新JProgressBar的当前值。 4. **多线程**:...
例如,`FileInputStream`和`FileOutputStream`是直接与文件进行交互的类,分别用于读取和写入文件。除此之外,还有缓冲流(如`BufferedInputStream`和`BufferedOutputStream`),它们能提高数据传输效率,以及转换流...
- 如何使用`FileInputStream`和`FileOutputStream`进行文件读写。 - 是否利用了`FileChannel`进行高效传输。 - 如何处理多线程拷贝,如果有的话。 - 错误处理和异常捕获的策略。 - 是否有进度更新和用户反馈的机制。...
`FileInputStream`和`FileOutputStream`是Java提供的两个核心类,分别用于读取和写入文件的字节流。这个名为"标准字节流拷贝纯文本文件工具类"的代码库可能包含了一些辅助方法,旨在简化使用这些类来复制纯文本文件...
Java提供了丰富的I/O类库,如`FileInputStream`和`FileOutputStream`用于处理文件,以及`BufferedInputStream`和`BufferedOutputStream`来提高读写性能。 在拷贝单个文件时,我们可以使用`java.nio.file.Files`类...
在上面的代码中,我们使用了 `FileInputStream` 和 `FileOutputStream` 两个类来实现文件的拷贝。首先,我们创建了源文件和目标文件的对象,然后使用 `FileInputStream` 读取源文件的内容,并将其写入到目标文件中...
下面是一个简单的文件拷贝程序,演示了如何使用 FileInputStream 和 FileOutputStream 对文件进行读取和写入操作: ``` import java.io.*; public class FileIO { public static void main(String args[]) { try...
在Java中,我们可以使用java.io包中的FileInputStream和FileOutputStream来读写文件,同时结合java.nio.channels.FileChannel进行大文件的高效传输。为了展示进度,我们可以利用javax.swing.JProgressBar控件。下面...
它遍历源文件列表,使用Java的`FileInputStream`和`FileOutputStream`对每个文件进行读写操作,从而实现文件的拷贝。为了确保文件内容的完整性和一致性,拷贝过程中可能还会使用缓冲区来提高效率,并处理异常情况,...
在U盘拷贝的场景下,FileInputStream用于读取U盘上的文件数据,FileOutputStream用于将读取的数据写入到目标存储路径。 ### 多线程编程 在自动拷贝U盘内容的过程中,程序需要不断检测是否有新的盘符插入,这就涉及...
3. **打开输入/输出流**:使用`FileInputStream`和`FileOutputStream`分别打开源文件和目标文件的流。如果使用NIO,可以使用`FileChannel`的`transferFrom()`和`transferTo()`方法进行大文件高效传输。 4. **读写...
首先,我们需要创建一个FileInputStream来读取源文件,然后创建一个FileOutputStream来写入目标文件。接着,通过循环读取InputStream中的字节并写入OutputStream,直到文件结束。 ```java File source = new File...