黑马程序员技术交流社区
标题:
Java中各种IO流应该要怎么使用
[打印本页]
作者:
张林敏
时间:
2013-5-5 15:20
标题:
Java中各种IO流应该要怎么使用
本帖最后由 张林敏 于 2013-5-6 13:12 编辑
Java中有很多流最基本的有 字符流 、字节流 ,常见的流有:File、InputStream、OutputStream、InputStreamReader、OutputStreamWriter等等等等。
我们在使用这些流时要怎么选择使用这些?有基本的使用方法没,求解?
作者:
Jacky_Chen1990
时间:
2013-5-5 15:27
尹桥印 发表于 2013-5-5 15:22
呃,等大神回答。。。
你就是。。。
作者:
Jacky_Chen1990
时间:
2013-5-5 15:30
我就说下我的理解吧。
字符流主要用于文本文件的使用。
字节流主要用于媒体文件。
基本使用方法其实都差不多的,除非有特殊的需求。
这是读取文本文件
public static void readFile_2() throws IOException {
FileInputStream fis = new FileInputStream("abc.txt");
byte[] buf = new byte[1024];
int len = 0;
while((len=fis.read(buf))!=-1) {
System.out.println(new String(buf,0,len));
}
fis.close();
}
复制代码
这是复制媒体文件
public class CopyMP3 {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
long s1=System.currentTimeMillis();//写在第一行
copyMP3_1();
long s2=System.currentTimeMillis();
System.out.println("复制mp3花费的时间::"+(s2-s1)+"毫秒");
}
public static void copyMP3_1() throws IOException{
BufferedInputStream bufis = new BufferedInputStream(new FileInputStream("C:\\0.mp3"));
BufferedOutputStream bufos = new BufferedOutputStream(new FileOutputStream("D:\\1.mp3"));
int read = 0;
while((read=bufis.read())!=-1) {
bufos.write(read);
}
bufos.close();
bufis.close();
}
}
复制代码
作者:
张林敏
时间:
2013-5-5 15:46
Jacky_Chen1990 发表于 2013-5-5 15:30
我就说下我的理解吧。
字符流主要用于文本文件的使用。
不错的回答,很容易理解记住。
这两个例子都有使用 FileInputStream ,复制MP3的那个例子还使用到 BufferedInputStream ,为什么还要套上这个流,有什么好处吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2