fileoper.java

来自「一个J2SE的简单入门」· Java 代码 · 共 238 行

JAVA
238
字号
package 第九章;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;

import java.util.ArrayList;


public class FileOper
{
	protected BufferedReader readfile(String localpath)
	{	
		BufferedReader in= null;
		try
		{
			File f= new File(localpath);
			if(f.exists())
			{
				in = new BufferedReader(new FileReader(f));
			
			}
			else
			{
				System.out.println(f.toString()+"文件不存在。");
				
			}
		}	
		catch(Exception e)
		{
			e.printStackTrace();
		}
		
		return in ;
	}
	// 把字符串按照一定的分隔符给分开
	protected String[] mySplit(String sstr, String sdelim) {
		int iidx = sstr.indexOf(sdelim);
		int i = 0;
		ArrayList srtn = new ArrayList();
		while (iidx >= 0) {
			srtn.add(sstr.substring(0, iidx));
			sstr = sstr.substring(iidx + sdelim.length(), sstr.length());
			iidx = sstr.indexOf(sdelim);
		}
		srtn.add(sstr);
		String[] stmp = new String[srtn.toArray().length];

		for (int j = 0; j < srtn.toArray().length; j++)
			stmp[j] = (String) srtn.toArray()[j];
		return stmp;
	}
	protected String forsql(String[] stmp) {
		String sql = "";
		String sqltmp = "";
		// 把读出的一行记录全部读出来
		for (int x = 0; x < stmp.length; x++) {
			if (x == stmp.length - 1) {

				sqltmp = sqltmp + "'" + stmp[x] + "'";
			} else {
				sqltmp = sqltmp + "'" + stmp[x] + "'" + ",";
			}

		}
		//sql = "insert intofilena"+values(" + sqltmp + ")";
		sql=sqltmp;
		return sql;
	}
    //通过localpath得到插入的表名
	protected String gettablename(String localpath)
	{
		
		String tabletmp=localpath;
		int tableend=tabletmp.indexOf(".");
		int tablebegin=tabletmp.lastIndexOf("\\");
		//System.out.println(tableend);
		//System.out.println(tablebegin);
		String table= tabletmp.substring(tablebegin+1,tableend);
		return table;
	}
	// 根据url得到mdb的名字,为写日志的时候做准备
	protected String getmdbname(String url)
	{
		
		String mdbnametmp=url;
		int mdbnameend= mdbnametmp.indexOf(".");
		int mdbnamebegin= mdbnametmp.lastIndexOf("\\");
		String mdbname=mdbnametmp.substring(mdbnamebegin+1,mdbnameend);
		return mdbname;
		
	}
	//判断是不是有待处理文件夹
	protected boolean checkdir(String localpath)
	{
		
		File file= new File(localpath);
		//System.out.println(mylocalpath);
		if(file.exists())
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	//复制文件
	protected void copyfile(String source, String dest)
	{
		try 
		{
			File in = new File(source);
		
			File out = new File(dest);
		
			FileInputStream inFile = new FileInputStream(in);
			FileOutputStream outFile = new FileOutputStream(out);
			byte[] buffer = new byte[1024];
			int i = 0;
			while ((i = inFile.read(buffer)) != -1) 
			{
				outFile.write(buffer, 0, i);
				//outFile.flush();
			}
			inFile.close();
			outFile.close();
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
			System.out.println("you wenti ");
		}
	}
	//把文件夹下的文件拷贝
	protected void copyDict(String source, String dest) {
		String source1;
		String dest1;

		File[] file = (new File(source)).listFiles();
		for (int i = 0; i < file.length; i++)
		{
		
			if (file[i].isFile()) 
			{
				System.out.println(file[i]);
				source1 = source + "\\" + file[i].getName();
				dest1 = dest + "\\" + file[i].getName();
				try 
				{
					File in = new File(source1);
					File out = new File(dest1);
					FileInputStream inFile = new FileInputStream(in);
					FileOutputStream outFile = new FileOutputStream(out);
					byte[] buffer = new byte[1024];
					int j = 0;
					while ((j = inFile.read(buffer)) != -1) 
					{
						outFile.write(buffer, 0, j);
					}
					inFile.close();
					outFile.close();
				} 
				catch (Exception e) 
				{
					e.printStackTrace();
				}
				//copyFile(source1, dest1);
			}
		}
		for (int i = 0; i < file.length; i++)
		{
			if (file[i].isDirectory()) 
			{
				source1 = source + "/" + file[i].getName();
				dest1 = dest + "/" + file[i].getName();
				File dest2 = new File(dest1);
				dest2.mkdir();
				copyDict(source1, dest1);
			}
		}
	}
	protected void deletefile(String delpath) throws Exception {
		File file = new File(delpath);
		if (!file.isDirectory()) {
			file.delete();
			return;
		} else if (file.isDirectory()) {
			String[] filelist = file.list();
			for (int i = 0; i < filelist.length; i++) {
				File delfile = new File(delpath + "/" + filelist[i]);
				if (!delfile.isDirectory())
					delfile.delete();
				else if (delfile.isDirectory())
					deletefile(filelist[i]);
			}
			file.delete();
		}
	}
	//文件的剪切
	protected void cutfile(String source, String dest)
	{
		try 
		{
			File in = new File(source);
		
			File out = new File(dest);
		
			FileInputStream inFile = new FileInputStream(in);
			FileOutputStream outFile = new FileOutputStream(out);
			byte[] buffer = new byte[1024];
			int i = 0;
			while ((i = inFile.read(buffer)) != -1) 
			{
				outFile.write(buffer, 0, i);
				//outFile.flush();
			}
			System.out.println("待处理文件夹"+source);
			System.out.println("已处理文件夹"+dest);
			
			inFile.close();
			inFile=null;
			outFile.close();
			outFile=null;
			in.delete();
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
			System.out.println("you wenti ");
		}
	}
	
	
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?