[Java学习] Java文件处理类,
分享于 点击 41114 次 点评:207
[Java学习] Java文件处理类,
- 包含一些对文件的基本操作。
- import java.io.*;
- import java.util.ArrayList;
- import java.util.List;
- public class fileTest {
- static int countFiles=0;
- static int countFolders=0;
- http://www.kmnk01.com/hxpfk/2015/bdf_1219/312.html
- 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 block
- e.printStackTrace();
-
http://www.kmnk01.com/hxpfk/2015/xmz_1219/320.html
- }
- 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;
- http://www.kmnk01.com/hxpfk/2015/gm_1219/314.html
- 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;
- http://www.kmnk01.com/hxpfk/2015/mny_1219/315.html
- 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();
- http://www.kmnk01.com/hxpfk/2015/qcd_1219/318.html
- 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+"文件删除成功!");
- http://www.kmnk01.com/hxpfk/2015/py_1219/321.html
- }
- 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)
- http://www.kmnk01.com/hxpfk/2015/sz_1219/313.html
- 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());
- http://www.kmnk01.com/hxpfk/2015/py_1219/316.html
- 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)
- http://www.kmnk01.com/hxpfk/2015/sz_1219/317.html
- 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())
- http://www.kmnk01.com/hxpfk/2015/ylb_1219/319.html
- System.out.println("文件已经存在!");
- 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("以行为单位读取数据,一次读取一行:");
- 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("以字节为单位写入文件:"+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());
- }
- }
- }
相关文章
- 暂无相关文章
用户点评