zoukankan      html  css  js  c++  java
  • IO流

     两类方法:  read( )  write()   close()

     两个核心流: FileInputStream  FileOutputStream

    • File文件
    • 文件流
    • FileInputStream / FileOutputStream (字节流)  / FileReader / FileWriter(字符流)
    • 缓冲流
      • BufferedInputStream / BufferedOutputStream /
      • BufferedReader / BufferedWriter
    • 转换流
    • InputStreamReader / OutputStreamWriter
    • 对象流----涉及序列化、反序列化
    • ObjectInputStream / ObjectOutputStream

    缓冲 字节 输入输出流   代码:

    BufferedInputStream

    BufferedInputStream bis = null;
    		try {
    			bis = new BufferedInputStream(new FileInputStream("D:\IoTest\a.txt"));
    			int rs = -1;
    			//每次获取的值打印,当没有值时返回-1,结束循环
    			while((rs = bis.read()) != -1){
    				System.out.print((char)rs);
    			}
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			try {
    				if(bis != null){
    					//关闭io
    					bis.close();
    				}
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    			
    		}
    

    BufferedOutputStream

    BufferedOutputStream bos = null;
    		try {
    			bos = new BufferedOutputStream(new FileOutputStream("D:\IoTest\aa.txt"));
    			String str="hello world";
    			//将字符串转换为字节数组
    			byte[] ByteStr = str.getBytes();
    			//字节数组写入文件中
    			bos.write(ByteStr);
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			try {
    				if(bos != null){
    					//关闭io
    					bos.close();
    				}
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    			
    		}
    

      


    转换 输入输出流   代码:

    InputStreamReader

    FileInputStream fis = null;
    		BufferedReader br = null;
    		try {
    			fis = new FileInputStream("D:\IoTest\a.txt");
    			// 使用InputStreamReader 把字节流转换为字符流
    			br =new BufferedReader(new InputStreamReader(fis));
    			//先一行一行的读    readLine()  属于BufferedReader的方法
    			//BufferedReader(Reader 字符流)
    			String line=null;
    			while((line = br.readLine()) != null){
    				System.out.println(line);
    			}
    

    OutputStreamWriter

    FileOutputStream fos = null;
    		BufferedWriter bw = null;
    		try {
    			fos=new FileOutputStream("D:\IoTest\ow.txt",true);
    			bw = new BufferedWriter(new OutputStreamWriter(fos));
    			bw.write("啊呀呀呀");
    			bw.newLine();
    			bw.write("啊呀呀呀1");
    			bw.newLine();
    			bw.flush();

    文件的递归

    public static void main(String[] args) {
    		new FileIterator().iteratorFile(new File("D:\code42\代码\les28"),1);;
    	}
    	/**
    	 * srcFile: 查找的某个文件夹的File
    	 * level: 层   1层: 2个空格,  2层: 1+1 = 2   4个空格
    	 *           3   6个
    	 * @param srcFile
    	 * 
    	 */
    	public  void  iteratorFile(File srcFile, int level){
    		//1.获取子文件,子文件夹
    		//subFiles 中包含 子文件, 子文件夹
    		//  listFiles()  --> 获取  les28文件夹的所有的子文件夹, 子文件
    		File[]  subFiles = srcFile.listFiles();
    		
    		//这个循环遍历的这个层所有的子元素
    		for (File file : subFiles) {
    			for (int i = 0; i < level; i++) {
    				System.out.print("  ");
    			}
    			if(file.isDirectory()){//如果是文件夹, 查找这个文件夹下的所有的子文件,子文件夹
    				//System.out.println("");
    				System.out.println(file.getName());
    				iteratorFile(file,level+1);// 方法递归, 执行调用的方法中的代码,而前一次的代码调用是暂停
    			}else{
    				//是文件
    				System.out.println(file.getName());
    			}
    		}
    	}
    

      

     

  • 相关阅读:
    bootstrap的验证和确认对话框
    Jquery.Datatables 基本创建方法
    DOM – (w3school)1.DOM 方法 + 2.DOM属性 + 3.DOM 元素
    Jquery.Datatables 基本设置的中文注解
    修改android studio中的avd sdk路径、avd sdk找不到的解决方案
    一个人至少是需要学习3种语言的
    Framework7:不会Objective-C,也能开发iOS7应用
    私人定制,十款最佳Node.js MVC框架
    PHP开发框架流行度排名:Laravel居首
    仅用移动开发服务:开发native应用
  • 原文地址:https://www.cnblogs.com/64Byte/p/12435499.html
Copyright © 2011-2022 走看看