java IO流中 字符的输入流对象时什么?怎么复制?
比如字节流的输入对象是FileInputStream字符呢?有想对应的吗?请写一个例子。比如d盘的一个TXT文件,我要复制到F盘去。...
比如字节流的输入对象是FileInputStream 字符呢?有想对应的吗?请写一个例子。比如d盘的一个TXT文件,我要复制到F盘去。
展开
1个回答
展开全部
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class CopyFile {
public static void main(String[] args) {
File s=new File("E:1.txt");//要复制的文件
File t=new File("F:1.txt");//复制后的文件
fileChannelCopy(s, t);
System.out.println("OK!");
}
public static void fileChannelCopy(File s, File t) {
FileInputStream fi = null;
FileOutputStream fo = null;
FileChannel in = null;
FileChannel out = null;
try {
fi = new FileInputStream(s);
fo = new FileOutputStream(t);
in = fi.getChannel();//得到对应的文件通道
out = fo.getChannel();//得到对应的文件通道
in.transferTo(0, in.size(), out);//连接两个通道,并且从in通道读取,然后写入out通道
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fi.close();
in.close();
fo.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class CopyFile {
public static void main(String[] args) {
File s=new File("E:1.txt");//要复制的文件
File t=new File("F:1.txt");//复制后的文件
fileChannelCopy(s, t);
System.out.println("OK!");
}
public static void fileChannelCopy(File s, File t) {
FileInputStream fi = null;
FileOutputStream fo = null;
FileChannel in = null;
FileChannel out = null;
try {
fi = new FileInputStream(s);
fo = new FileOutputStream(t);
in = fi.getChannel();//得到对应的文件通道
out = fo.getChannel();//得到对应的文件通道
in.transferTo(0, in.size(), out);//连接两个通道,并且从in通道读取,然后写入out通道
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fi.close();
in.close();
fo.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
追问
这是字节流的操作吧,我是说的字符流的操作,我现在会用字节流的操作。
java 实现文件复制的两种方式
文件复制首先我们要考虑的是用字符流还是文件流操作呢?
若我们考虑的仅仅是文本之类的复制,字符流要好些。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询