黑马程序员_JavaIO学习笔记

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


JavaIO

IO概念:

IO流用来处理设备之间的数据传输
       Java对数据的操作是通过流的方式
       Java用于操作流的对象都在IO包中

IO类

File 文件类

RandomAccessFile 随机存取文件类

InputStream 字节输入流

OutputStream 字节输出流

Reader 字符输入流

Writer 字符输入流


IO流图:



如:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/*
 * 复制指定文件到指定目录
 */

public class test {
	public static void main(String[] args) throws IOException {

		File src = new File("E:/guan.txt");
		File tar = new File("F:/guan.txt");

		copy(src, tar);
		System.out.println("复制成功!");
	}

	public static void copy(File src, File tar) throws IOException {
		try (InputStream is = new FileInputStream(src);
				OutputStream os = new FileOutputStream(tar);) //圆括号内写打开资源的操作
			{
			byte[] b = new byte[1024];
			int len;
			while ((len = is.read(b)) != -1) {
				os.write(b);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;

/**
 * 使用缓存流,性能高些
 * @author Pupil
 *
 */
public class test {
	public static void main(String[] args)  throws Exception{
		ArrayList<String> list = new ArrayList<String>();//定义集合存储Java文件的名字

		File src = new File("E:\\guan\\java");         //源文件路径
		File des = new File("F:\\guan\\txt");          //目的文件路径
		if(!des.exists())                              //判断目的文件是否存在,不存在就创建
			des.mkdirs();

		fileTolist(src,list);                           //将源文件中的Java文件的名字存入到集合中
		for(String fileName : list){                    //高级for循环遍历集合中Java文件的名字
			writeTofile(src, des, fileName);            //将源文件中的Java文件存入到目的文件夹中
		}
	}


	/**
	 * 将源文件中的Java文件的名字存入到集合中
	 * @param file
	 * @param list
	 */
	public static void fileTolist(File file,List<String> list){
		File[] files = file.listFiles();              //获取源文件夹中的文件

		for(File f : files){                           //遍历文件并将文件的Java文件的名字存入到集合中
			list.add(f.getName());
		}
	}


	/**
	 * 将源文件中的Java文件存入到目的文件夹中
	 * @param src
	 * @param des
	 * @param fileName
	 * @throws Exception
	 */
	public static void writeTofile(File src,File des, String fileName)throws Exception{

		BufferedReader bfr = new BufferedReader(new FileReader(new File(src, fileName)));
		BufferedWriter bfw = new BufferedWriter(new FileWriter(new File(des,fileName.replace(".java", ".txt"))));

		String line = null;
		while((line=bfr.readLine())!=null){
			bfw.write(line);
			bfw.newLine();
			bfw.flush();
		}

		bfw.close();
		bfr.close();
	}


}





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值