zoukankan      html  css  js  c++  java
  • java新手笔记29 读取文件

    1.读取文件

    package com.yfs.javase;
    
    import java.io.FileInputStream;
    import java.io.FileReader;
    import java.io.InputStream;
    import java.io.Reader;
    
    public class IODemo1 {
    
    	/**
    	 * 读取文件 显示
    	 */
    	public static void main(String[] args) throws Exception {
    		//readFileSteame();
            readFileChar();
    	}
    
    	public static void readFileChar() throws Exception {
    		//字节流
    		Reader byte= new FileReader("FileDemo1.java");
    		
    		int data = byte.read();
    		while(data != -1) {
    			System.out.print((char)data);
    			data = byte.read();
    		}
    		read.close();
    	}
    
    	public static void readFileSteame() throws Exception {
    		//File file = new File("FileDemo1.java");//源头
    		//输入流 源头 目的 连接 字节流
    		//InputStream in = new FileInputStream(file) ;
    		InputStream in = new FileInputStream("FileDemo1.java");
    		//程序 目的
    		int data = in.read();//读取文件数据
    		while(data != -1){//读到-1 文件结束
    			System.out.print((char)data);
    			data = in.read();
    		}
    		
    		in.close();
    	}
    
    }
    

     2.输出流

    package com.yfs.javase;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.OutputStream;
    import java.io.Writer;
    
    public class IODemo2 {
    
    	/**
    	 * 输出流
    	 */
    	public static void main(String[] args) throws Exception {
    		//outDataSteame();
    		outDataChar();
    	}
    
    	public static void outDataChar() throws Exception {
    		Writer write = new FileWriter("outchar.txt");
    		write.write('a');//处理一个字节
    		write.write(5);
    		write.write('中');//数据丢失
    		
    		write.close();
    	}
    
    	public static void outDataSteame() throws Exception {
    		File file = new File("out.txt");
    		//输出流
    		OutputStream out = new FileOutputStream(file);
    		out.write('a');//处理一个字节
    		out.write(5);
    		out.write('中');//数据丢失
    		
    		out.close();
    		
    	}
    
    	
    
    }
    

     3.复制文件

    package com.yfs.javase;
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.Reader;
    import java.io.Writer;
    
    public class IODemo3 {
    
    	/**
    	 * 复制文件
    	 */
    	public static void main(String[] args) throws Exception {
    		// copyFileStreame();
    		copyFileChar();
    	}
    
    	public static void copyFileChar() throws Exception {
    		Reader in = new FileReader("E:/img/index.gif");
    
    		Writer out = new FileWriter("C:/pic1.gif");
    
    		int data = in.read();
    		while (data != -1) {
    			out.write(data);
    			data = in.read();
    		}
    
    		in.close();
    		out.close();
    		System.out.println("文件复制完成...");
    
    	}
    
    	public static void copyFileStreame() throws Exception {
    		InputStream in = new FileInputStream("E:/img/index.gif");
    
    		OutputStream out = new FileOutputStream("C:/pic.gif");
    
    		int data = in.read();
    		while (data != -1) {
    			out.write(data);
    			data = in.read();
    		}
    
    		in.close();
    		out.close();
    		System.out.println("文件复制完成...");
    	}
    
    }
    

     4.缓冲流

    package com.yfs.javase;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.Reader;
    import java.io.Writer;
    
    public class IODemo4 {
    
    	/**
    	 * 复制文件 缓冲流
    	 */
    	public static void main(String[] args) throws Exception {
    		long start = System.currentTimeMillis();
    		// copyFileStreame();
    		//copyFile();
    		//copyFile1();
    		copyFile2();
    		long end = System.currentTimeMillis();
    		System.out.println("复制文件使用 " + (end - start) + " 毫秒");
    
    	}
    	public static void copyFile2() throws Exception {
    		File source = new File("FileDemo1.java");
    		InputStream in = new FileInputStream(source);
    
    		File target = new File("C:/", source.getName());
    		OutputStream out = new FileOutputStream(target);
    		//自定义缓冲区
    		byte[] data = new byte[1024  * 4];//1k 
    		int len = in.read(data);//len 读取的数据长度
    	    while(len != -1 ) {//8
    	    	out.write(data, 0, len);
    	    	len = in.read(data);
    	    }
    		in.close();
    		out.close();
    		
    	}
    
    	public static void copyFile1() throws Exception {
    		File source = new File("E:/EditPlus.zip");
    		InputStream in = new FileInputStream(source);
    
    		File target = new File("C:/", source.getName());
    		OutputStream out = new FileOutputStream(target);
    		//自定义缓冲区
    		byte[] data = new byte[1024  * 4];//1k 
    		int len = in.read(data);//len 读取的数据长度
    	    while(len != -1 ) {//8
    	    	out.write(data, 0, len);
    	    	len = in.read(data);
    	    }
    		in.close();
    		out.close();
    		
    	}
    
    	public static void copyFile() throws Exception {
    		// 缓冲流
    		File source = new File("E:/EditPlus.zip");
    		InputStream in = new FileInputStream(source);
    
    		File target = new File("C:/", source.getName());
    		OutputStream out = new FileOutputStream(target);
    		// 缓冲流套接在节点流
    		BufferedInputStream bufin = new BufferedInputStream(in);
    
    		BufferedOutputStream bufout = new BufferedOutputStream(out);
    
    		int data = bufin.read();
    		while (data != -1) {
    			bufout.write(data);
    			data = bufin.read();
    		}
    		in.close();
    		out.close();
    	}
    
    	public static void copyFileStreame() throws Exception {
    		File source = new File("E:/EditPlus.zip");
    		InputStream in = new FileInputStream(source);
    
    		File target = new File("C:/", source.getName());
    		OutputStream out = new FileOutputStream(target);
    
    		int data = in.read();
    		while (data != -1) {
    			out.write(data);
    			data = in.read();
    		}
    
    		in.close();
    		out.close();
    	}
    
    }
    

     5.流转换

    package com.yfs.javase;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.Reader;
    import java.io.Writer;
    
    public class IODemo5 {
    
    	/**
    	 * 流转换  字节流 -》 字符流
    	 */
    	public static void main(String[] args) throws Exception {
    		
    		InputStream in = new FileInputStream("FileDemo1.java");
    		showFile(in);
    
    	}
    
    	public static void showFile(InputStream in) throws Exception {
    		Reader read = new InputStreamReader(in);//流转换
    		
    		int data = read.read();
    		
    		while(data != -1) {
    			System.out.print((char)data);
    			data = read.read();
    		}
    		in.close();
    		
    	}
    	
    }
    
  • 相关阅读:
    sql对日期操作
    computeroperationcommand
    Convert函数对日期的应用
    编写快速、高效的JavaScript代码
    vim常用操作技巧与配置
    PureFTPd安装配置
    关于PHP代码加密和文本加密
    父页面调用iframe里的js函数相关例程,Iframe之间通讯研究
    常用JavaScript语法100讲
    计算机端口
  • 原文地址:https://www.cnblogs.com/feilongblog/p/4756001.html
Copyright © 2011-2022 走看看