Java IO流

package io;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;

/**
 * I(input输入)/O(output输出)流:
 * 
 * 流(Stream)的概念代表的是程序中数据的流通
 * 数据流是一串连续不断的数据的集合
 * 在Java程序中,对于数据的输入/输出操作是以流(Stream)的方式进行的
 * 		输入流(流入程序的数据)   ---- 读取数据到内存中
 * 		输出流(流出程序的数据)   ---- 从内存存储到文件或显示到屏幕上
 * 	流的分类:
 * 		1.按流的方向:		输入流、输出流
 * 		2.按处理数据的单位:	字节流、字符流	InputStream/OutputStream、Read/Writer(根父类)
 * 		3.按功能:			节点流、处理流	节点流构造器直接关联到一个数据源、处理流就是对节点流功能的增强
 *
 *
 */
public class Test {
	public static void main(String[] args) {
		FileReader fileReader;
		try {
			fileReader = new FileReader("file");
			BufferedReader bufferedReader = new BufferedReader(fileReader);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}
}
package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyDemp {
	public static void main(String[] args) {
		
		FileInputStream fileInputStream=null;
		FileOutputStream fileOutputStream=null;
		try {
			// FileInputStream对源文件进行读操作
			fileInputStream = new FileInputStream("library.jpg");
			// FileouptStream写(目标文件)操作
			fileOutputStream = new FileOutputStream("library_text.jpg");
			// 对源文件读取一个字节
			int read = fileInputStream.read();
			// 循环读取源文件直到读完(-1),循环就结束了
			while (read != -1) {
				// 将读取到的read写入到目标文件中
				fileOutputStream.write(read);
				//读取下一个字节
				read = fileInputStream.read();
			}
			//释放资源
			fileInputStream.close();
			fileOutputStream.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}
package io;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
 * 复制一个图片:字节流
 * 复制一个文件:字符流
 * 
 * 绝对路径:具体的地址 D:/xxx/xxx/abc.java
 * 相对路径:相对于当前的工程(项目)
 *
 */
public class TextCopy {
	public static void main(String[] args) {
		FileReader fileReader = null;
		FileWriter fileWriter = null;
		try {
			fileReader = new FileReader("CopyDemp.java");
			fileWriter = new FileWriter("CopyDemp_text.java");
			int read = fileReader.read();
			while (read != -1) {
				fileWriter.write(read);
				read = fileReader.read();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
package io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedDemo {
	public static void main(String[] args) {
		FileReader fileReader = null;
		FileWriter fileWriter = null;
		BufferedReader bufferedReader = null;
		BufferedWriter bufferedWriter = null;
		try {
			//源文件
			fileReader = new FileReader("CopyDemo.java");//节点流
			bufferedReader = new BufferedReader(fileReader);//处理流
			
			//目标
			fileWriter = new FileWriter("CopyDemo_test1.java");
			bufferedWriter = new BufferedWriter(fileWriter);
			
			String read = bufferedReader.readLine();
			while (read != null) {
				bufferedWriter.write(read);
				bufferedWriter.newLine();//换行
				read = bufferedReader.readLine();
			}
			
			bufferedReader.close();
			bufferedWriter.close();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值