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 + -
显示快捷键?