出自:https://blog.youkuaiyun.com/suwu150/article/details/51489644
字节流: 主要用来表示二进制文件(图片,视频,音频,文本文件等);
* 字节输人流: 读取数据 InputStream 四个都是抽象类
* 字节输出流: 写出数据 OutputStream
字符流: 表示文本文件(Windows自带的记事本软件能打开能看懂的文件)
* 字符输入流:读取数据 Reader
* 字符输出流:写出数据 Writer
一、字节流介绍
1、字节输出流 OutputStream类定义 public abstract class OutputStream extends Object implements Closeable, Flushable 此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到InputStream 类某个接收器要向文件中输出,使用FileOutputStream类
2、字节输入流 定义: public abstract class InputStream extends Object implements Closeable 此抽象类是表示字节输入流的所有类的超类。 FileInputStream 从文件系统中的某个文件中获得输入字节。
二、代码部署
代码中要实现从E盘的DesktopFile/Android/文件夹下面将优快云.jpg,复制到E盘的DesktopFile/Android/test文件夹下面,当然其中的文件夹位置可以自己改变,在这里只不过使用的是固定的方式,在实际应用中,常常使用动态获取图片地址的方式进行复制文件,下面就是复制文件时的代码操作
-
package java_move;
-
import java.io.File;
-
import java.io.FileInputStream;
-
import java.io.FileNotFoundException;
-
import java.io.FileOutputStream;
-
import java.io.IOException;
-
import java.io.InputStream;
-
import java.io.OutputStream;
-
public class move {
-
public static void main(String[] args)
-
{
-
String src= "E:/DesktopFile/Android/优快云.jpg";
-
String target= "E:/DesktopFile/Android/test/优快云.jpg";
-
copyFile(src,target);
-
}
-
public static void copyFile(String src,String target)
-
{
-
File srcFile = new File(src);
-
File targetFile = new File(target);
-
try {
-
InputStream in = new FileInputStream(srcFile);
-
OutputStream out = new FileOutputStream(targetFile);
-
byte[] bytes = new byte[ 1024];
-
int len = - 1;
-
while((len=in.read(bytes))!=- 1)
-
{
-
out.write(bytes, 0, len);
-
}
-
in.close();
-
out.close();
-
} catch (FileNotFoundException e) {
-
e.printStackTrace();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
System.out.println( "文件复制成功");
-
-
-
}
-
-
}