欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java文件处理类,java文件处理,包含一些对文件的基本操作

来源: javaer 分享于  点击 26098 次 点评:94

Java文件处理类,java文件处理,包含一些对文件的基本操作


包含一些对文件的基本操作。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("目标文件已经存在!");return;}if(filepath.endsWith(File.separator)){System.out.println("目标文件不能为目录!");return;}try {if(file.createNewFile())System.out.println("文件创建成功!");else{System.out.println("文件创建失败!");return;}} catch (IOException e) {// TODO Auto-generated catch blocke.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("目录创建成功!");else{System.out.println("目录创建失败!");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());}elsedeleteDirs(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++;elsecountFolders++;if(pathname.isDirectory()||(pathname.isFile()&amp;&amp;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("文件已经存在!");return;} else{try {tofile.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.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);elsecopyDirToDir(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() &amp;&amp; file.isFile() &amp;&amp; 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("以行为单位读取数据,一次读取一行:");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 blocke.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("以字节为单位写入文件:"+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 stubString 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());}}}
相关栏目:

用户点评