zoukankan      html  css  js  c++  java
  • Javaio

    简单的文件读写

    package com.file;
    
    import java.io.BufferedOutputStream;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    
    public class ReadWriteFile {
    	public static void main(String[] args) throws Exception {
    		ReadWriteFile file = new ReadWriteFile();
    		file.prepareReadFile("f:/java/javaee/luo", "age.txt");
    
    		File file2 = new File("f:/java/javaee/luo/age2.txt");
    		/**
    		 * System.getProperty("file.encoding") 获得当前系统的字符编码
    		 */
    		System.out.println(file.readFile(file2, System
    				.getProperty("file.encoding")));
    
    		file.writeFile(new File("f:/java/javaee/luo/age.txt"), System
    				.getProperty("file.encoding"), file.readFile(file2, System
    				.getProperty("file.encoding")));
    
    		file.deleteFile(new File("f:/java/javaee/luo/age3.txt"));
    
    		file.binaryReadWrite("F:/java/Kalimba.mp3", "F:/java/javaee/luo",
    				"music", "Kalimba1.mp3");
    		file.fileReadWrite("f:/java/javaee/luo/aa.txt", "f:/java/javaee/luo",
    				"luo.txt");
    	}
    
    	/**
    	 * 读取并复制二进制文件
    	 * 
    	 * @throws IOException
    	 */
    	public void binaryReadWrite(String file, String file2, String music,
    			String filename) throws IOException {
    		InputStream inputStream = null;
    		OutputStream outputStream = null;
    		File file3 = new File(file2 + "/" + music);
    		file3.mkdir();
    		try {
    			inputStream = new FileInputStream(new File(file));
    			byte[] b = new byte[4 * 1024];
    			outputStream = new FileOutputStream(file3 + "/" + filename);
    			while (inputStream.read(b) != -1) {
    				outputStream.write(b);
    			}
    
    		} catch (IOException e) {
    			// TODO: handle exception
    			System.out.println(e.getMessage());
    			System.out.println(e);
    		} finally {
    			outputStream.flush();
    			outputStream.close();
    			inputStream.close();
    		}
    	}
    
    	/**
    	 * 读取文件
    	 * 
    	 * @param file
    	 * @param encoding
    	 * @return
    	 * @throws IOException
    	 */
    	public String readFile(File file, String encoding) throws IOException {
    		BufferedReader bufferedReader = null;
    		try {
    			bufferedReader = new BufferedReader(new InputStreamReader(
    					new FileInputStream(file), encoding));
    			StringBuffer buffer = new StringBuffer();
    			char[] chars = new char[4096];
    			int lenght = 0;
    			while (0 < (lenght = bufferedReader.read(chars))) {
    				buffer.append(chars, 0, lenght);
    			}
    			return buffer.toString();
    		} finally {
    			try {
    				if (bufferedReader != null) {
    					bufferedReader.close();
    				}
    			} catch (Exception e) {
    				// TODO: handle exception
    				throw new RuntimeException(e);
    			}
    		}
    	}
    
    	/**
    	 * 写入文件
    	 * 
    	 * @param file
    	 * @param encoding
    	 * @param reader
    	 * @throws IOException
    	 */
    	public void writeFile(File file, String encoding, String reader)
    			throws IOException {
    		BufferedWriter writes = null;
    		try {
    			writes = new BufferedWriter(new OutputStreamWriter(
    					new FileOutputStream(file, false), encoding));
    			writes.write(reader);
    		} finally {
    			if (writes != null) {
    				writes.close();
    			}
    		}
    
    	}
    
    	/**
    	 * 删除文件
    	 * 
    	 * @param file
    	 */
    	public void deleteFile(File file) {
    		file.delete();
    	}
    
    	/**
    	 * 读取写入文件
    	 * 
    	 * @param file1
    	 * @param file2
    	 * @param filename
    	 * @throws IOException
    	 */
    	public void fileReadWrite(String file1, String file2, String filename)
    			throws IOException {
    		BufferedReader bufReader = null;
    		InputStream iStream = null;
    		BufferedOutputStream bWriter = null;
    		File file = new File(file2, filename);
    		if (!file.exists()) {
    			file.createNewFile();
    		}
    		try {
    			iStream = new FileInputStream(new File(file1));
    			bufReader = new BufferedReader(new InputStreamReader(iStream));
    			bWriter = new BufferedOutputStream(new FileOutputStream(file));
    			String line = null;
    			if ((line = bufReader.readLine()) != null) {
    				bWriter.write(line.getBytes());
    			}
    		} catch (Exception e) {
    			// TODO: handle exception
    		} finally {
    			bWriter.flush();
    			bWriter.close();
    			bufReader.close();
    			iStream.close();
    		}
    	}
    
    	/**
    	 * 查看目录文件是否存在并新建
    	 * 
    	 * @param path
    	 * @param filename
    	 * @throws Exception
    	 */
    	public void prepareReadFile(String path, String filename) throws Exception {
    		File folder = new File(path);
    		File file = new File(path, filename);
    		if (!folder.exists()) {
    			System.out.println("新建目录和文件");
    			folder.mkdirs();// 新建目录及其父目录
    			file.createNewFile();// 新建文件
    		} else if (!file.exists()) {
    			System.out.println("新建文件");
    			file.createNewFile();// 新建文件
    		}
    	}
    }
    

      

  • 相关阅读:
    html5+css3中的background: -moz-linear-gradient 用法 (转载)
    CentOS 安装Apache服务
    Linux 笔记
    CURL 笔记
    Spring Application Context文件没有提示功能解决方法
    LeetCode 389. Find the Difference
    LeetCode 104. Maximum Depth of Binary Tree
    LeetCode 520. Detect Capital
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 136. Single Number
  • 原文地址:https://www.cnblogs.com/andicu/p/2668657.html
Copyright © 2011-2022 走看看