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();// 新建文件
    		}
    	}
    }
    

      

  • 相关阅读:
    TXLSReadWriteII 公式计算
    Delphi TXLSReadWriteII2 带的demo中直接编辑XLS文件的例子
    delphi图片欣赏
    SQL 读取csv 文件批量插入数据
    Delphi TXLSReadWriteII 导出EXCEL
    Rollup 与 webpack的区别
    ref 属性使用eslint报错
    内容超出省略实现
    mac 环境配置
    前端学习资料整理
  • 原文地址:https://www.cnblogs.com/andicu/p/2668657.html
Copyright © 2011-2022 走看看