JAVA的输入输出流是什么?有几种?

如题所述

以下是个人理解。流可以分为字节流和字符流区别嘛,你去搞清楚字节和字符的区别就知道了。流,其实没必要认为太高深,字节流的输入流,就是InputStream,他有个read()方法,而且有很多重载read(byte[]b)什么的,就是把文件转换成字节,后一个方法就是把转换的字节放到一个byte数组中。例如你定义一个File file=new File("d:/test.txt");byte[]b=new byte[1024];FileInputStream fis=new FileInputStream(file);fis.read(b);fis.close();//b里现在就放的是从文件d:/test.txt读取的字节(当然这不太严谨,可能会有错误)//现在是输出流FileOutputStream fos=new FileOutputStream(new File("d:/target.txt"));//write方法这个是byte数组中的字节放到目的文件d:/target.txt中fos.write(b);fos.close();这个是很简单的写法,没考虑文件大小,出现数组越界千万别怪我,手敲代码很烦呢,可能有错误,自己慢慢体会,这个急不来
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-02
输出流:所有的数据都写入指定的文件中了import java.io.*;
public class FileOutputStreamDemo{
public static void main(String[] args){
String str="所有的数据都写入指定的文件中了";
try{
System.out.println("创建文件输出流对象:");
FileOutputStream fos=new FileOutputStream("c://1.txt");
System.out.println("将数据写入文件中...");
fos.write(str.getBytes());
System.out.print("关闭文件");
fos.close();
}
catch(IOException e){
}
}
}输入流:将文件中的内容写入data中import java.io.*;
public class FileInputStreamDemo{
public static void main(String[] args){
try{
FileInputStream fis=new FileInputStream("c://1.txt");
byte[]data=new byte[100];
System.out.println("将文件中的内容写入data中...");
fis.read(data);
PrintStream ps=System.out;
ByteArrayOutputStream baos=new ByteArrayOutputStream();
baos.write(data);
System.out.print("显示data中的内容:...");
baos.writeTo(ps);
fis.close();
baos.close();
ps.close();
}
catch(IOException e){
}
}
}运行程序体会一下输入字节流和字符流和输入字节流和字符流你快要下载一个jdk api文档里面好多关于这方面的说明本回答被网友采纳
第2个回答  2013-12-02
aip文档你有啊?查查那个sun公司官方说明很清楚~
第3个回答  2013-12-02
字节流、字符流,百度或谷歌一搜一大把,我就不去粘贴了。
相似回答