常见文件操作_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 常见文件操作

常见文件操作

 2014/10/23 19:31:50  一纸红颜岂值倾尽天下  程序员俱乐部  我要评论(0)
  • 摘要:packagecom.swt.common.util;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream
  • 标签:文件 操作
class="java">package com.swt.common.util;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;


public class FileUtil {

	/**
	 * 将数据写入文件
	 * @param registration
	 */
	public static void writerDataFile(String registration){
		StringBuffer strbuffBuffer=new StringBuffer();
		strbuffBuffer.append("key=");
		File file=new File("dll/registercodeKey.dll");
		//判断文件是否存在
		if(!file.exists()){
			try {
				file.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		try {
			FileWriter writer=new FileWriter(file,true);//true表示追加写入文件
			BufferedWriter bfwriter=new BufferedWriter(writer);
			bfwriter.write(strbuffBuffer.append(Encryption.encryptAndUncrypt(registration)).toString());
			bfwriter.close();
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 判断文件是否存在
	 * @param filepath
	 * @return
	 */
	public static  boolean fileIsExists(String filepath){
		File file=new File(filepath);
		if(file.exists())
			return true;
		else
			return false;
	}
	
	/**
	 * 判断 文件目录是否存在  不存在创建目录
	 * @param mkdir
	 * @param file
	 * @param data
	 */
	public static boolean catalogIsExists(String mkdir){
		File fileMkdir=new File(mkdir);
		if(!fileMkdir.exists() && !fileMkdir.isDirectory()){
			//创建目录
			fileMkdir.mkdir();
			return true;
		}
		return false;
	}
	
	
	/**
	 * 创建文件 并且写入数据
	 * @param filePath
	 * @param data
	 * @return
	 */
	public static boolean createFileAndWriterData(String filePath,String data){
		//
		StringBuffer strbuffBuffer=new StringBuffer();
		strbuffBuffer.append("key=");
		
		File file=new File(filePath);
		//判断文件是否存在
		if(!file.exists()){
			try {
				file.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		try {
			FileWriter writer=new FileWriter(file,true);//true表示追加写入文件
			BufferedWriter bfwriter=new BufferedWriter(writer);
			bfwriter.write(strbuffBuffer.append(Encryption.encryptAndUncrypt(data)).toString());
			bfwriter.close();
			writer.close();
			
			return true;
		} catch (IOException e) {
			e.printStackTrace();
		}
		return false;
	}
	
	
	
	/***
	 * 
	 * 输入流
	 * java.io.InputStream这个类将数据读取为原始字节所需要的方法
	 * 无参数的read 方法读取字节数 作为0-255的int 类型返回 流结束有返回-1表示
	 * public abstract int read() throws IOException
	 * public int read(byte[] input) throws IOException
	 * public int read(byte [] input ,int offset,int length) throws IOException
	 * public long skip(long n) throws IOException
	 * public int available()throws IOException
	 * public void close()trhows IOException
	 * @throws IOException 
	 * 
	 */
	
	public static void fileReader() throws IOException{
		
		//读取二进制文件
		File file=new File("D:/Documents/Desktop/a.jpg");
		FileInputStream in=new FileInputStream(file);
		BufferedInputStream buffInput=new BufferedInputStream(in);

		
		//获取整个文件字节
		int available=buffInput.available();
		byte btyes[]=new byte[available];
		
		//一次性读出 表示流也结束(注意使用available 结束时候返回0)
		while(buffInput.read(btyes)!=0){
			System.out.println(new String(btyes));
		}
		buffInput.close();
		in.close();
	}
	
	
	/**
	 * 
	 *输出流提供数据所需要的基本方法
	 *public abstract void write(int b) throws IOException
	 *public void write(byte[] data)throws IOException
	 *public void write(byte[] data,int offset,int length)throws IOException
	 *public void flush throws IOException
	 *public void close() throws IOException
	 * 
	 * 
	 * 二进制文件读取
	 * @throws IOException
	 */
	
	public static void fileCopy() throws IOException{
		//读取二进制文件
		File file=new File("D:/Documents/Desktop/a.jpg");
		FileInputStream in=new FileInputStream(file);
		BufferedInputStream buffInput=new BufferedInputStream(in);
		
		//写入另外一个文件
		File copy=new File("D:/Documents/Desktop/b.jpg");
		if(!copy.exists()){
			copy.createNewFile();
		}
		//写入文件
		FileOutputStream out=new FileOutputStream(copy);
		BufferedOutputStream bufferOut=new BufferedOutputStream(out);
		int count=0;
		//读取1024
		byte [] bytes=new byte[1024];
		int len=0;
		//循环读取
		while((len=buffInput.read(bytes))!=-1){
//			System.out.println(new String(bytes, count, len));
			bufferOut.write(bytes, count, len);
		}
		bufferOut.flush();
		bufferOut.close();
		out.close();
		buffInput.close();
		in.close();
		
	}
	
	public static void main(String[] args) {

//		boolean bool=createFileMkdir("file/abadadesssfad");
//		
//		if(bool){
//			
//			boolean b=	createFileAndWriterData("file/abadadesssfad/registercodeKey.dll", "A58AXE8D5E8SDES68SES");
//		
//			if(b){
//				System.out.println("写入数据成功...去看看吧");
//
//			}else{
//				System.out.println("写入数据失败 你瞧瞧吧。。。。");
//			}
//		}else{
//			System.out.println("穿件文件夹失败咯哦");
//		}
//			System.out.println(Encryption.encryptAndUncrypt("bb{fgfpgfppfp").equals("A58AXE8D5E8SDES68SES"));
			try {
				fileReader();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
}

?

发表评论
用户名: 匿名