收集整理的java常见文件操作,方便平时使用:

  1. //1.创建文件夹
  2. //import java.io.*;
  3. File myFolderPath = new File(str1);
  4. try {
  5. if (!myFolderPath.exists()) {
  6. myFolderPath.mkdir();
  7. }
  8. }
  9. catch (Exception e) {
  10. System.out.println("新建目录操作出错");
  11. e.printStackTrace();
  12. }
  1. //2.创建文件
  2. //import java.io.*;
  3. File myFilePath = new File(str1);
  4. try {
  5. if (!myFilePath.exists()) {
  6. myFilePath.createNewFile();
  7. }
  8. FileWriter resultFile = new FileWriter(myFilePath);
  9. PrintWriter myFile = new PrintWriter(resultFile);
  10. myFile.println(str2);
  11. resultFile.close();
  12. }
  13. catch (Exception e) {
  14. System.out.println("新建文件操作出错");
  15. e.printStackTrace();
  16. }
  1. //3.删除文件
  2. //import java.io.*;
  3. File myDelFile = new File(str1);
  4. try {
  5. myDelFile.delete();
  6. }
  7. catch (Exception e) {
  8. System.out.println("删除文件操作出错");
  9. e.printStackTrace();
  10. }
  1. //4.删除文件夹
  2. //import java.io.*;
  3. File delFolderPath = new File(str1);
  4. try {
  5. delFolderPath.delete(); //删除空文件夹
  6. }
  7. catch (Exception e) {
  8. System.out.println("删除文件夹操作出错");
  9. e.printStackTrace();
  10. }
  1. //5.删除一个文件下夹所有的文件夹
  2. //import java.io.*;
  3. File delfile=new File(str1);
  4. File[] files=delfile.listFiles();
  5. for(int i=0;i<files.length;i++){
  6. if(files[i].isDirectory()){
  7. files[i].delete();
  8. }
  9. }
  1. //6.清空文件夹
  2. //import java.io.*;
  3. File delfilefolder=new File(str1);
  4. try {
  5. if (!delfilefolder.exists()) {
  6. delfilefolder.delete();
  7. }
  8. delfilefolder.mkdir();
  9. }
  10. catch (Exception e) {
  11. System.out.println("清空目录操作出错");
  12. e.printStackTrace();
  13. }
  1. //7.读取文件
  2. //import java.io.*;
  3. // 逐行读取数据
  4. FileReader fr = new FileReader(str1);
  5. BufferedReader br = new BufferedReader(fr);
  6. String str2 = br.readLine();
  7. while (str2 != null) {
  8. str3
  9. str2 = br.readLine();
  10. }
  11. br.close();
  12. fr.close();
  1. //8.写入文件
  2. //import java.io.*;
  3. // 将数据写入文件
  4. try {
  5. FileWriter fw = new FileWriter(str1);
  6. fw.write(str2);
  7. fw.flush();
  8. fw.close();
  9. } catch (IOException e) {
  10. e.printStackTrace();
  11. }
  1. //9.写入随机文件
  2. //import java.io.*;
  3. try {
  4. RandomAcessFile logFile=new RandomAcessFile(str1,"rw");
  5. long lg=logFile.length();
  6. logFile.seek(str2);
  7. logFile.writeByte(str3);
  8. }catch(IOException ioe){
  9. System.out.println("无法写入文件:"+ioe.getMessage());
  10. }
  1. //10.读取文件属性
  2. //import java.io.*;
  3. // 文件属性的取得
  4. File f = new File(str1);
  5. if (af.exists()) {
  6. System.out.println(f.getName() + "的属性如下: 文件长度为:" + f.length());
  7. System.out.println(f.isFile() ? "是文件" : "不是文件");
  8. System.out.println(f.isDirectory() ? "是目录" : "不是目录");
  9. System.out.println(f.canRead() ? "可读取" : "不");
  10. System.out.println(f.canWrite() ? "是隐藏文件" : "");
  11. System.out.println("文件夹的最后修改日期为:" + new Date(f.lastModified()));
  12. } else {
  13. System.out.println(f.getName() + "的属性如下:");
  14. System.out.println(f.isFile() ? "是文件" : "不是文件");
  15. System.out.println(f.isDirectory() ? "是目录" : "不是目录");
  16. System.out.println(f.canRead() ? "可读取" : "不");
  17. System.out.println(f.canWrite() ? "是隐藏文件" : "");
  18. System.out.println("文件的最后修改日期为:" + new Date(f.lastModified()));
  19. }
  20. if(f.canRead()){
  21. str2
  22. }
  23. if(f.canWrite()){
  24. str3
  25. }
  1. //11.写入属性
  2. //import java.io.*;
  3. File filereadonly=new File(str1);
  4. try {
  5. boolean b=filereadonly.setReadOnly();
  6. }
  7. catch (Exception e) {
  8. System.out.println("拒绝写访问:"+e.printStackTrace());
  9. }
  1. //12.枚举一个文件夹中的所有文件
  2. //import java.io.*;
  3. //import java.util.*;
  4. LinkedList folderList = new LinkedList();
  5. folderList.add(str1);
  6. while (folderList.size() > 0) {
  7. File file = new File(folderList.peek());
  8. folderList.removeLast();
  9. File[] files = file.listFiles();
  10. ArrayList fileList = new ArrayList();
  11. for (int i = 0; i < files.length; i++) {
  12. if (files[i].isDirectory()) {
  13. folderList.add(files[i].getPath());
  14. } else {
  15. fileList.add(files[i]);
  16. }
  17. }
  18. for (File f : fileList) {
  19. str2=f.getAbsoluteFile();
  20. str3
  21. }
  22. }
  1. //13.复制文件夹
  2. //import java.io.*;
  3. //import java.util.*;
  4. LinkedList folderList = new LinkedList();
  5. folderList.add(str1);
  6. LinkedList folderList2 = new LinkedList();
  7. folderList2.add(str2+ str1.substring(str1.lastIndexOf("\\")));
  8. while (folderList.size() > 0) {
  9. (new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
  10. File folders = new File(folderList.peek());
  11. String[] file = folders.list();
  12. File temp = null;
  13. try {
  14. for (int i = 0; i < file.length; i++) {
  15. if (folderList.peek().endsWith(File.separator)) {
  16. temp = new File(folderList.peek() + File.separator
  17. + file[i]);
  18. } else {
  19. temp = new File(folderList.peek() + File.separator + file[i]);
  20. }
  21. if (temp.isFile()) {
  22. FileInputStream input = new FileInputStream(temp);
  23. FileOutputStream output = new FileOutputStream(
  24. folderList2.peek() + File.separator + (temp.getName()).toString());
  25. byte[] b = new byte[5120];
  26. int len;
  27. while ((len = input.read(b)) != -1) {
  28. output.write(b, 0, len);
  29. }
  30. output.flush();
  31. output.close();
  32. input.close();
  33. }
  34. if (temp.isDirectory()) {// 如果是子文件夹
  35. for (File f : temp.listFiles()) {
  36. if (f.isDirectory()) {
  37. folderList.add(f.getPath());
  38. folderList2.add(folderList2.peek()
  39. + File.separator + f.getName());
  40. }
  41. }
  42. }
  43. }
  44. } catch (Exception e) {
  45. //System.out.println("复制整个文件夹内容操作出错");
  46. e.printStackTrace();
  47. }
  48. folderList.removeFirst();
  49. folderList2.removeFirst();
  50. }
  1. //14.复制一个文件夹下所有的文件夹到另一个文件夹下
  2. //import java.io.*;
  3. //import java.util.*;
  4. File copyfolders=new File(str1);
  5. File[] copyfoldersList=copyfolders.listFiles();
  6. for(int k=0;k<copyfoldersList.length;k++){
  7. if(copyfoldersList[k].isDirectory()){
  8. ArrayListfolderList=new ArrayList();
  9. folderList.add(copyfoldersList[k].getPath());
  10. ArrayListfolderList2=new ArrayList();
  11. folderList2.add(str2+"/"+copyfoldersList[k].getName());
  12. for(int j=0;j<folderList.length;j++){
  13. (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
  14. File folders=new File(folderList.get(j));
  15. String[] file=folders.list();
  16. File temp=null;
  17. try {
  18. for (int i = 0; i < file.length; i++) {
  19. if(folderList.get(j).endsWith(File.separator)){
  20. temp=new File(folderList.get(j)+"/"+file[i]);
  21. } else {
  22. temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
  23. }
  24. FileInputStream input = new FileInputStream(temp);
  25. if(temp.isFile()){
  26. FileInputStream input = new FileInputStream(temp);
  27. FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" + (temp.getName()).toString());
  28. byte[] b = new byte[5120];
  29. int len;
  30. while ( (len = input.read(b)) != -1) {
  31. output.write(b, 0, len);
  32. }
  33. output.flush();
  34. output.close();
  35. input.close();
  36. }
  37. if(temp.isDirectory()){//如果是子文件夹
  38. folderList.add(folderList.get(j)+"/"+file[i]);
  39. folderList2.add(folderList2.get(j)+"/"+file[i]);
  40. }
  41. }
  42. }
  43. catch (Exception e) {
  44. System.out.println("复制整个文件夹内容操作出错");
  45. e.printStackTrace();
  46. }
  47. }
  48. }
  49. }
  1. //15.移动文件夹
  2. //import java.io.*;
  3. //import java.util.*;
  4. LinkedList folderList = new LinkedList();
  5. folderList.add(str1);
  6. LinkedList folderList2 = new LinkedList();
  7. folderList2.add(str2 + str1.substring(str1.lastIndexOf("\\")));
  8. while (folderList.size() > 0) {
  9. (new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
  10. File folders = new File(folderList.peek());
  11. String[] file = folders.list();
  12. File temp = null;
  13. try {
  14. for (int i = 0; i < file.length; i++) {
  15. if (folderList.peek().endsWith(File.separator)) {
  16. temp = new File(folderList.peek() + File.separator + file[i]);
  17. } else {
  18. temp = new File(folderList.peek() + File.separator + file[i]);
  19. }
  20. if (temp.isFile()) {
  21. FileInputStream input = new FileInputStream(temp);
  22. FileOutputStream output = new FileOutputStream(
  23. folderList2.peek() + File.separator + (temp.getName()).toString());
  24. byte[] b = new byte[5120];
  25. int len;
  26. while ((len = input.read(b)) != -1) {
  27. output.write(b, 0, len);
  28. }
  29. output.flush();
  30. output.close();
  31. input.close();
  32. if (!temp.delete())
  33. System.out.println("删除单个文件操作出错!");
  34. }
  35. if (temp.isDirectory()) {// 如果是子文件夹
  36. for (File f : temp.listFiles()) {
  37. if (f.isDirectory()) {
  38. folderList.add(f.getPath());
  39. folderList2.add(folderList2.peek() + File.separator + f.getName());
  40. }
  41. }
  42. }
  43. }
  44. } catch (Exception e) {
  45. // System.out.println("复制整个文件夹内容操作出错");
  46. e.printStackTrace();
  47. }
  48. folderList.removeFirst();
  49. folderList2.removeFirst();
  50. }
  51. File f = new File(str1);
  52. if (!f.delete()) {
  53. for (File file : f.listFiles()) {
  54. if (file.list().length == 0) {
  55. System.out.println(file.getPath());
  56. file.delete();
  57. }
  58. }
  59. }
  1. //16.移动一个文件夹下所有的文件夹到另一个目录下
  2. //import java.io.*;
  3. //import java.util.*;
  4. File movefolders=new File(str1);
  5. File[] movefoldersList=movefolders.listFiles();
  6. for(int k=0;k<movefoldersList.length;k++){
  7. if(movefoldersList[k].isDirectory()){
  8. ArrayListfolderList=new ArrayList();
  9. folderList.add(movefoldersList[k].getPath());
  10. ArrayListfolderList2=new ArrayList();
  11. folderList2.add(str2+"/"+movefoldersList[k].getName());
  12. for(int j=0;j<folderList.length;j++){
  13. (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
  14. File folders=new File(folderList.get(j));
  15. String[] file=folders.list();
  16. File temp=null;
  17. try {
  18. for (int i = 0; i < file.length; i++) {
  19. if(folderList.get(j).endsWith(File.separator)){
  20. temp=new File(folderList.get(j)+"/"+file[i]);
  21. }
  22. else{
  23. temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
  24. }
  25. FileInputStream input = new FileInputStream(temp);
  26. if(temp.isFile()){
  27. FileInputStream input = new FileInputStream(temp);
  28. FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" + (temp.getName()).toString());
  29. byte[] b = new byte[5120];
  30. int len;
  31. while ( (len = input.read(b)) != -1) {
  32. output.write(b, 0, len);
  33. }
  34. output.flush();
  35. output.close();
  36. input.close();
  37. temp.delete();
  38. }
  39. if(temp.isDirectory()){//如果是子文件夹
  40. folderList.add(folderList.get(j)+"/"+file[i]);
  41. folderList2.add(folderList2.get(j)+"/"+file[i]);
  42. }
  43. }
  44. }
  45. catch (Exception e) {
  46. System.out.println("复制整个文件夹内容操作出错");
  47. e.printStackTrace();
  48. }
  49. }
  50. movefoldersList[k].delete();
  51. }
  52. }
  1. //17.以一个文件夹的框架在另一个目录创建文件夹和空文件
  2. //import java.io.*;
  3. //import java.util.*;
  4. boolean b=false;//不创建空文件
  5. ArrayListfolderList=new ArrayList();
  6. folderList.add(str1);
  7. ArrayListfolderList2=new ArrayList();
  8. folderList2.add(str2);
  9. for(int j=0;j<folderList.length;j++){
  10. (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
  11. File folders=new File(folderList.get(j));
  12. String[] file=folders.list();
  13. File temp=null;
  14. try {
  15. for (int i = 0; i < file.length; i++) {
  16. if(folderList.get(j).endsWith(File.separator)){
  17. temp=new File(folderList.get(j)+"/"+file[i]);
  18. }
  19. else{
  20. temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
  21. }
  22. FileInputStream input = new FileInputStream(temp);
  23. if(temp.isFile()){
  24. if (b) temp.createNewFile();
  25. }
  26. if(temp.isDirectory()){//如果是子文件夹
  27. folderList.add(folderList.get(j)+"/"+file[i]);
  28. folderList2.add(folderList2.get(j)+"/"+file[i]);
  29. }
  30. }
  31. }
  32. catch (Exception e) {
  33. System.out.println("复制整个文件夹内容操作出错");
  34. e.printStackTrace();
  35. }
  36. }
  1. //18.复制文件
  2. //import java.io.*;
  3. int bytesum = 0;
  4. int byteread = 0;
  5. File oldfile = new File(str1);
  6. try {
  7. if (oldfile.exists()) { //文件存在时
  8. FileInputStream inStream = new FileInputStream(oldfile); //读入原文件
  9. FileOutputStream fs = new FileOutputStream(new File(str2,oldfile.getName()));
  10. byte[] buffer = new byte[5120];
  11. int length;
  12. while ( (byteread = inStream.read(buffer)) != -1) {
  13. bytesum += byteread; //字节数 文件大小
  14. System.out.println(bytesum);
  15. fs.write(buffer, 0, byteread);
  16. }
  17. inStream.close();
  18. }
  19. }
  20. catch (Exception e) {
  21. System.out.println("复制单个文件操作出错");
  22. e.printStackTrace();
  23. }
  1. //19.复制一个文件夹下所有的文件到另一个目录
  2. //import java.io.*;
  3. File copyfiles=new File(str1);
  4. File[] files=copyfiles.listFiles();
  5. for(int i=0;i<files.length;i++){
  6. if(!files[i].isDirectory()){
  7. int bytesum = 0;
  8. int byteread = 0;
  9. try {
  10. InputStream inStream = new FileInputStream(files[i]); //读入原文件
  11. FileOutputStream fs = new FileOutputStream(new File(str2,files[i].getName());
  12. byte[] buffer = new byte[5120];
  13. int length;
  14. while ( (byteread = inStream.read(buffer)) != -1) {
  15. bytesum += byteread; //字节数 文件大小
  16. System.out.println(bytesum);
  17. fs.write(buffer, 0, byteread);
  18. }
  19. inStream.close();
  20. } catch (Exception e) {
  21. System.out.println("复制单个文件操作出错");
  22. e.printStackTrace();
  23. }
  24. }
  25. }
  1. //20.提取扩展名
  2.   String str2=str1.substring(str1.lastIndexOf(".")+1);

java常见文件操作的更多相关文章

  1. Python 常见文件操作的函数示例(转)

    转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...

  2. Python常见文件操作的函数示例

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...

  3. Java api 入门教程 之 JAVA的文件操作

    I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...

  4. JAVA的文件操作【转】

    11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...

  5. java中文件操作的工具类

    代码: package com.lky.pojo; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...

  6. java csv 文件 操作类

    一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...

  7. java中文件操作《一》

    在日常的开发中我们经常会碰到对文件的操作,在java中对文件的操作都在java.io包下,这个包下的类有File.inputStream.outputStream.FileInputStream.Fi ...

  8. java IO文件操作简单基础入门例子,IO流其实没那么难

    IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想.今天整理了一份适合初学者学习的简单例子,让大家可以更深刻的理解IO流的具体操作. 1.文件拷贝 ...

  9. Java常用文件操作-2

    上篇文章记录了常用的文件操作,这里记录下通过SSH服务器操作Linux服务器的指定路径下的文件. 这里用到了第三方jar包 jsch-0.1.53.jar, jsch-api 1.删除服务器上指定路径 ...

随机推荐

  1. 复习php的一些函数

    2014.07.04 查看ecshop的一些源码,学习了一些函数.

  2. Iphone安装铃声

    PP助手 应用列表中打开铃声多多文档. 5点击铃声下载,找到下载的铃声,按下图所示步骤导出至电脑. 6在PP助手界面内,找到"视频音乐"标签,然后进入视频音乐分类下的铃声分类,点击 ...

  3. 最通用的ibatis.Net使用sql server存储过程返回分页数据的详细例子

    ibatis.Net是一个比较简单和灵活的ORM框架,今天我分享一个我的项目中使用sql server通用存储过程来分页的一个例子,用ibatis.Net框架统一返回分页数据为IList<Has ...

  4. Java中间件:淘宝网系统高性能利器(转)

    淘宝网是亚太最大的网络零售商圈,其知名度毋庸置疑,吸引着越来越多的消费者从街头移步这里,成为其忠实粉丝.如此多的用户和交易量,也意味着海量的信息处理,其背后的IT架构的稳定性.可靠性也显得尤为重要.那 ...

  5. --@angularjs-- $location.path('/login')-$location服务用法示例

    $httpProvider interceptor .factory('auth403', ['$rootScope', '$q', '$location', function auth403($ro ...

  6. EF Code First:实体映射

    二.实体映射 实体与数据库的映射可以通过DataAnnotation与FluentAPI两种方式来进行映射: (一) DataAnnotation DataAnnotation 特性由.NET 3.5 ...

  7. LINQ to Sql系列一 增,删,改

    首先,我们来了解一下LINQ to sql 是什么,我想从以下几点来做说明. 1,LINQ是从.net framework 3.0开始引入的的语言特性,主要是用来对集合数据进行操作的.2,LINQ t ...

  8. js实现数组去重并且显示重复的元素和索引值

    var arr=["a","b","c","d","c","b","d ...

  9. 【.net 深呼吸】细说CodeDom(10):生成异常处理语句

    写完这一篇,大概可以准备过年了,就算是这系列文章的收尾吧. 异常处理语句,就是常说的try...catch语句,有时候,也会带有finally子句.要生成异常处理语句,得用到CodeTryCatchF ...

  10. Python内置数据类型总结

    python的核心数据类型:(很多语言之提供了数字,字符串,文件数据类型,其他形式的数据类型都以标准库的形式表示 也就是用之前需要import ) ,但是python有很多都是内置的,不需要impor ...