java学习ing――初识IO流

 之前是学习到了有关文件的操作,主要是对文件进行创建删除查找搜索等等。~现在就可以对文件进行一些简单的操作了。比如读和写~

这里所说的IO流就是对应的InputStream和OutputStream。分别是字节输入流和字节输出流。我觉得这里有一处容易混淆的是呢InputStream字节输入流可能我们在字面理解输入就是往文件里输入么?但。。恰恰相反。这里的流的源头是文件,所以输入是从文件往外,而OutputStream输出流才是向文件方向的。。刚开始接触感觉好容易弄混的。多多练习敲敲代码就ok啦。

 

下面总结一下这个IO流的简单的使用:

Java代码 复制代码 收藏代码
  1. <SPAN style="FONT-SIZE: medium">public static void copyFile(){
  2. try {
  3. //实例化一个InputStream对象
  4. InputStream is = new FileInputStream("src/IOStream.java");
  5. //实例化一个数组,长度为文件的长度
  6. byte array[] = new byte[is.available()];
  7. //进行read操作,并将结果存入array数组中
  8. is.read(array);
  9. //实例化一个OutputStream对象
  10. OutputStream os = new FileOutputStream("src/IOFileTest.txt");
  11.  
  12. os.write(array);
  13.  
  14. System.out.println("文件拷贝成功");
  15. is.close();
  16. os.close();
  17. } catch (FileNotFoundException e) {
  18. e.printStackTrace();
  19. } catch (IOException e) {
  20. e.printStackTrace();
  21. }
  22. }</SPAN>
public static void copyFile(){ 	try { 		//实例化一个InputStream对象 		InputStream is = new FileInputStream("src/IOStream.java"); 		//实例化一个数组,长度为文件的长度 		byte array[] = new byte[is.available()]; 		//进行read操作,并将结果存入array数组中 		is.read(array); 		//实例化一个OutputStream对象 		OutputStream os = new FileOutputStream("src/IOFileTest.txt"); 		 		os.write(array); 			 		System.out.println("文件拷贝成功"); 		is.close(); 		os.close(); 	} catch (FileNotFoundException e) { 		e.printStackTrace(); 	} catch (IOException e) { 		e.printStackTrace(); 	} }

上面一段代码就是对InputStream和OutputStream的一个简单的操作,功能相当于文件的拷贝。

感觉有几个需要注意的地方。首先~~查看API就会知道我们使用的InputStream和OutputStream都是抽象类,Abstract Class。因为抽象类无法实例化,所以我们是通过FileInputStream和FleOutputStream这两个子类来进行实例化的。还有就是进行读写的时候,也可以采用另一种方法,就是一个字节一个字节的读和写~~那样的话,代码会比这种的多~~所以木有采用。

其他都很简单的,执行这一段代码之后的效果就是在src下面又生成了一个Txt文件,内容就是与这段代码相同的~~

你可能感兴趣的:(Java学习)