中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Java文件處理類

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
包含一些對文件的基本操作。

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class fileTest {

static int countFiles=0;
static int countFolders=0;

public static void  createFile(String filepath)
{
File file=new File(filepath);
if(file.exists())
{
System.out.println("目標文件已經(jīng)存在!");
return;
}
if(filepath.endsWith(File.separator))
{
System.out.println("目標文件不能為目錄!");
return;
}
try {
if(file.createNewFile())
System.out.println("文件創(chuàng)建成功!");
else
{
System.out.println("文件創(chuàng)建失敗!");
return;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static void createDir(String dirname)
{
if(!dirname.endsWith(File.separator))
dirname=dirname+File.separator;
File dir=new File(dirname);
if(dir.exists())
{
System.out.println("目錄已存在!");
return;
}
if(dir.mkdirs())
System.out.println("目錄創(chuàng)建成功!");
else
{
System.out.println("目錄創(chuàng)建失敗!");
return;
}
}

public static boolean checkDirExist(String dirname)
{
File file=new File(dirname);
if(file.exists())
{
if(file.isDirectory())
return true;
}
return false;
}

public static File[] getDirFiles(String dirname)
{
File[] result=null;
File fileDir = new File(dirname);
if (!fileDir.exists()) 
{
System.out.println("文件夾不存在");
return null;
}
else
{
if (!fileDir.isDirectory()) 
{
fileDir = new File(fileDir.getParent());
}
result = fileDir.listFiles();
}
return result;
}

public static void deleteFiles(String filename)
{
File file=new File(filename);
if(!file.exists())
{
System.out.println("文件不存在!");
return;
}
if(file.delete())
{
System.out.println(filename+"文件刪除成功!");
}
}

public static void deleteDirs(String dirname)
{
if(!dirname.endsWith(File.separator))
dirname=dirname+File.separator;
File dirn=new File(dirname);
if(!dirn.exists())
{
System.out.println("文件目錄不存在!");
return;
}
File[] files=dirn.listFiles();
for(int i=0;i<files.length;i++)
{
if(files[i].isFile())
{
deleteFiles(files[i].getAbsolutePath());
}
else
deleteDirs(files[i].getAbsolutePath());
}
if(dirn.delete())
{
System.out.println("目錄刪除成功!");
}
}

public static void searchFiles(String dirname,String filename)
{
if(!dirname.endsWith(File.separator))
dirname=dirname+File.separator;
File dir=new File(dirname);
if(!dir.exists())
{
System.out.println("該文件夾不存在");
return;
}
File[] files=dir.listFiles();
for(int i=0;i<files.length;i++)
{
if(files[i].isFile())
{
if(files[i].getName().equals(filename))
System.out.println("文件路徑為:"+files[i].getAbsolutePath());
}
else
{
searchFiles(files[i].getAbsolutePath(),filename);
}
}
}

public static File[] searchFile(File folder,final String keyWord)
{    
File[] subFolders=folder.listFiles(new FileFilter()
{
public boolean accept(File pathname)
{
if(pathname.isFile())
countFiles++;
else
countFolders++;
if(pathname.isDirectory()||(pathname.isFile()&&pathname.getName().contains(keyWord)))
return true;
return false;
}

});
List<File> result=new ArrayList<File>();
for(int i=0;i<subFolders.length;i++)
{
if(subFolders[i].isFile())
result.add(subFolders[i]);
else
{
File[] foldResult=searchFile(subFolders[i],keyWord);
for(int j=0;j<foldResult.length;j++)
result.add(foldResult[j]);
}
}
File files[]=new File[result.size()];
result.toArray(files);
return files;
}

public static void copyFileToFile(File tofile,File fromfile)
{
if(tofile.exists())
{
System.out.println("文件已經(jīng)存在!");
return;
} 
else
{
try {
tofile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("復制文件從"+fromfile.getAbsolutePath()+"到"+tofile.getAbsolutePath());
try {
InputStream is=new FileInputStream(fromfile);
FileOutputStream fos=new FileOutputStream(tofile);
byte []buffer=new byte[1024];
try {
while(is.read(buffer)!=-1)
fos.write(buffer);
is.close();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

/**
* @param file 要復制的文件
* @param dirname 文件復制到目標目錄
*/
public static void copyFileToDir(File file,String dirname)
{
createDir(dirname);
String filename=dirname+"/"+file.getName();
File nfile=new File(filename);
copyFileToFile(nfile,file);
}

public static void copyDirToDir(String todir,String fromdir)
{
File []f=getDirFiles(fromdir);
for(int i=0;i<f.length;i++)
{
if(f[i].isFile())
copyFileToDir(f[i],todir);
else
copyDirToDir(todir+"/"+f[i].getName(),fromdir+"/"+f[i].getName());
}
System.out.println(fromdir+"復制到文件夾"+todir+"復制完成!");
}



/**
* @param args
* @throws IOException 
*/
public static byte[] readFilebyByte(String filename) throws IOException
{
byte[] result = null;
File file = new File(filename);
if (file.exists() && file.isFile() && file.length() > 0) 
{
result = new byte[(int) file.length()];
FileInputStream inStream = new FileInputStream(filename);
inStream.read(result);
inStream.close();
}
return result;
}

public static void readFilebyLine(String filename) throws IOException
{
File file=new File(filename);
BufferedReader reader=null;
System.out.println("以行為單位讀取數(shù)據(jù),一次讀取一行:");
try {
reader=new BufferedReader(new FileReader(file));
String temp=null;
int line=1;
while((temp=reader.readLine())!=null)
{
System.out.println("line"+line+":"+temp);
line++;
}
reader.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


public static void writeFilebyByte(String filename) throws IOException
{
String content="fsfni ds dw wod";
File file=new File(filename);
OutputStream out=null;
System.out.println("以字節(jié)為單位寫入文件:"+content);
out=new FileOutputStream(file);
byte []bytes=content.getBytes();
out.write(bytes);
out.close();
}

public static void writeFilebyChar(String filename) throws IOException
{
String content="fsfni ds dw wod";
File file=new File(filename);
Writer writer=null;
System.out.println("以字符為單位寫入文件:"+content);
writer=new OutputStreamWriter(new FileOutputStream(file));
writer.write(content);
writer.close();
}

public static void writeFilebyLine(String filename) throws IOException
{
String content="fsfni ds dw wod";
File file=new File(filename);
PrintWriter writer=null;
System.out.println("以行為單位寫入文件:"+content);
writer=new PrintWriter(new FileOutputStream(file));
writer.println(content);
writer.print(2355);
writer.flush();
writer.close();
}

public static void addContent1(String filename) throws IOException
{
FileWriter writer=new FileWriter(filename,true);
String content="this is a nice man,so you should get it";
writer.write(content);
writer.close();
}

public static void addContent2(String filename) throws IOException
{
RandomAccessFile rfile=new RandomAccessFile(filename, "rw");
long filelength=rfile.length();
rfile.seek(filelength);
String content="hello world";
rfile.write(content.getBytes("gb2312"));
rfile.close();

}
/**
* @param args
* @throws IOException 
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub


String dirname="c:/cc/";
String todir="c:/dd/";
String tdir="c:/ee/";
String fn="c:/cc/c.txt";
String filename="ww.txt";
File folder=new File("c:/cc/");
String keyword="ww";
//readFilebyLine(fn);
writeFilebyLine(fn);
addContent1(fn);
addContent2(fn);
//File fromfile=new File("c:/cc/c.txt");
//File tofile=new File("e:/ccc.txt");
//byte[] fb=readFilebyByte(fn);
//for(int i=0;i<fb.length;i++)
// System.out.println((char)fb[i]);
//System.out.println(fb.toString());
//copyFile(tofile,fromfile);
//copyFileToDir(fromfile,todir);
//copyDirToDir(tdir,dirname);
//File[] f=searchFile(folder,keyword);
//createDir(dirname);
//deleteDirs(dirname);
//searchFiles(dirname, filename);
//File[] f=getDirFiles(dirname);
//for(int i=0;i<f.length;i++)
{
// System.out.println(f[i].getAbsolutePath());
}
}


}

標簽:

版權(quán)申明:本站文章部分自網(wǎng)絡,如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Java獲取客戶端真實IP地址的兩種方法

下一篇: Java數(shù)組操作的10大方法