java常见文件操作
收集整理的java常见文件操作,方便平时使用:
- //1.创建文件夹
- //import java.io.*;
- File myFolderPath = new File(str1);
- try {
- if (!myFolderPath.exists()) {
- myFolderPath.mkdir();
- }
- }
- catch (Exception e) {
- System.out.println("新建目录操作出错");
- e.printStackTrace();
- }
- //2.创建文件
- //import java.io.*;
- File myFilePath = new File(str1);
- try {
- if (!myFilePath.exists()) {
- myFilePath.createNewFile();
- }
- FileWriter resultFile = new FileWriter(myFilePath);
- PrintWriter myFile = new PrintWriter(resultFile);
- myFile.println(str2);
- resultFile.close();
- }
- catch (Exception e) {
- System.out.println("新建文件操作出错");
- e.printStackTrace();
- }
- //3.删除文件
- //import java.io.*;
- File myDelFile = new File(str1);
- try {
- myDelFile.delete();
- }
- catch (Exception e) {
- System.out.println("删除文件操作出错");
- e.printStackTrace();
- }
- //4.删除文件夹
- //import java.io.*;
- File delFolderPath = new File(str1);
- try {
- delFolderPath.delete(); //删除空文件夹
- }
- catch (Exception e) {
- System.out.println("删除文件夹操作出错");
- e.printStackTrace();
- }
- //5.删除一个文件下夹所有的文件夹
- //import java.io.*;
- File delfile=new File(str1);
- File[] files=delfile.listFiles();
- for(int i=0;i<files.length;i++){
- if(files[i].isDirectory()){
- files[i].delete();
- }
- }
- //6.清空文件夹
- //import java.io.*;
- File delfilefolder=new File(str1);
- try {
- if (!delfilefolder.exists()) {
- delfilefolder.delete();
- }
- delfilefolder.mkdir();
- }
- catch (Exception e) {
- System.out.println("清空目录操作出错");
- e.printStackTrace();
- }
- //7.读取文件
- //import java.io.*;
- // 逐行读取数据
- FileReader fr = new FileReader(str1);
- BufferedReader br = new BufferedReader(fr);
- String str2 = br.readLine();
- while (str2 != null) {
- str3
- str2 = br.readLine();
- }
- br.close();
- fr.close();
- //8.写入文件
- //import java.io.*;
- // 将数据写入文件
- try {
- FileWriter fw = new FileWriter(str1);
- fw.write(str2);
- fw.flush();
- fw.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- //9.写入随机文件
- //import java.io.*;
- try {
- RandomAcessFile logFile=new RandomAcessFile(str1,"rw");
- long lg=logFile.length();
- logFile.seek(str2);
- logFile.writeByte(str3);
- }catch(IOException ioe){
- System.out.println("无法写入文件:"+ioe.getMessage());
- }
- //10.读取文件属性
- //import java.io.*;
- // 文件属性的取得
- File f = new File(str1);
- if (af.exists()) {
- System.out.println(f.getName() + "的属性如下: 文件长度为:" + f.length());
- System.out.println(f.isFile() ? "是文件" : "不是文件");
- System.out.println(f.isDirectory() ? "是目录" : "不是目录");
- System.out.println(f.canRead() ? "可读取" : "不");
- System.out.println(f.canWrite() ? "是隐藏文件" : "");
- System.out.println("文件夹的最后修改日期为:" + new Date(f.lastModified()));
- } else {
- System.out.println(f.getName() + "的属性如下:");
- System.out.println(f.isFile() ? "是文件" : "不是文件");
- System.out.println(f.isDirectory() ? "是目录" : "不是目录");
- System.out.println(f.canRead() ? "可读取" : "不");
- System.out.println(f.canWrite() ? "是隐藏文件" : "");
- System.out.println("文件的最后修改日期为:" + new Date(f.lastModified()));
- }
- if(f.canRead()){
- str2
- }
- if(f.canWrite()){
- str3
- }
- //11.写入属性
- //import java.io.*;
- File filereadonly=new File(str1);
- try {
- boolean b=filereadonly.setReadOnly();
- }
- catch (Exception e) {
- System.out.println("拒绝写访问:"+e.printStackTrace());
- }
- //12.枚举一个文件夹中的所有文件
- //import java.io.*;
- //import java.util.*;
- LinkedList folderList = new LinkedList();
- folderList.add(str1);
- while (folderList.size() > 0) {
- File file = new File(folderList.peek());
- folderList.removeLast();
- File[] files = file.listFiles();
- ArrayList fileList = new ArrayList();
- for (int i = 0; i < files.length; i++) {
- if (files[i].isDirectory()) {
- folderList.add(files[i].getPath());
- } else {
- fileList.add(files[i]);
- }
- }
- for (File f : fileList) {
- str2=f.getAbsoluteFile();
- str3
- }
- }
- //13.复制文件夹
- //import java.io.*;
- //import java.util.*;
- LinkedList folderList = new LinkedList();
- folderList.add(str1);
- LinkedList folderList2 = new LinkedList();
- folderList2.add(str2+ str1.substring(str1.lastIndexOf("\\")));
- while (folderList.size() > 0) {
- (new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
- File folders = new File(folderList.peek());
- String[] file = folders.list();
- File temp = null;
- try {
- for (int i = 0; i < file.length; i++) {
- if (folderList.peek().endsWith(File.separator)) {
- temp = new File(folderList.peek() + File.separator
- + file[i]);
- } else {
- temp = new File(folderList.peek() + File.separator + file[i]);
- }
- if (temp.isFile()) {
- FileInputStream input = new FileInputStream(temp);
- FileOutputStream output = new FileOutputStream(
- folderList2.peek() + File.separator + (temp.getName()).toString());
- byte[] b = new byte[5120];
- int len;
- while ((len = input.read(b)) != -1) {
- output.write(b, 0, len);
- }
- output.flush();
- output.close();
- input.close();
- }
- if (temp.isDirectory()) {// 如果是子文件夹
- for (File f : temp.listFiles()) {
- if (f.isDirectory()) {
- folderList.add(f.getPath());
- folderList2.add(folderList2.peek()
- + File.separator + f.getName());
- }
- }
- }
- }
- } catch (Exception e) {
- //System.out.println("复制整个文件夹内容操作出错");
- e.printStackTrace();
- }
- folderList.removeFirst();
- folderList2.removeFirst();
- }
- //14.复制一个文件夹下所有的文件夹到另一个文件夹下
- //import java.io.*;
- //import java.util.*;
- File copyfolders=new File(str1);
- File[] copyfoldersList=copyfolders.listFiles();
- for(int k=0;k<copyfoldersList.length;k++){
- if(copyfoldersList[k].isDirectory()){
- ArrayListfolderList=new ArrayList();
- folderList.add(copyfoldersList[k].getPath());
- ArrayListfolderList2=new ArrayList();
- folderList2.add(str2+"/"+copyfoldersList[k].getName());
- for(int j=0;j<folderList.length;j++){
- (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
- File folders=new File(folderList.get(j));
- String[] file=folders.list();
- File temp=null;
- try {
- for (int i = 0; i < file.length; i++) {
- if(folderList.get(j).endsWith(File.separator)){
- temp=new File(folderList.get(j)+"/"+file[i]);
- } else {
- temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
- }
- FileInputStream input = new FileInputStream(temp);
- if(temp.isFile()){
- FileInputStream input = new FileInputStream(temp);
- FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" + (temp.getName()).toString());
- byte[] b = new byte[5120];
- int len;
- while ( (len = input.read(b)) != -1) {
- output.write(b, 0, len);
- }
- output.flush();
- output.close();
- input.close();
- }
- if(temp.isDirectory()){//如果是子文件夹
- folderList.add(folderList.get(j)+"/"+file[i]);
- folderList2.add(folderList2.get(j)+"/"+file[i]);
- }
- }
- }
- catch (Exception e) {
- System.out.println("复制整个文件夹内容操作出错");
- e.printStackTrace();
- }
- }
- }
- }
- //15.移动文件夹
- //import java.io.*;
- //import java.util.*;
- LinkedList folderList = new LinkedList();
- folderList.add(str1);
- LinkedList folderList2 = new LinkedList();
- folderList2.add(str2 + str1.substring(str1.lastIndexOf("\\")));
- while (folderList.size() > 0) {
- (new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
- File folders = new File(folderList.peek());
- String[] file = folders.list();
- File temp = null;
- try {
- for (int i = 0; i < file.length; i++) {
- if (folderList.peek().endsWith(File.separator)) {
- temp = new File(folderList.peek() + File.separator + file[i]);
- } else {
- temp = new File(folderList.peek() + File.separator + file[i]);
- }
- if (temp.isFile()) {
- FileInputStream input = new FileInputStream(temp);
- FileOutputStream output = new FileOutputStream(
- folderList2.peek() + File.separator + (temp.getName()).toString());
- byte[] b = new byte[5120];
- int len;
- while ((len = input.read(b)) != -1) {
- output.write(b, 0, len);
- }
- output.flush();
- output.close();
- input.close();
- if (!temp.delete())
- System.out.println("删除单个文件操作出错!");
- }
- if (temp.isDirectory()) {// 如果是子文件夹
- for (File f : temp.listFiles()) {
- if (f.isDirectory()) {
- folderList.add(f.getPath());
- folderList2.add(folderList2.peek() + File.separator + f.getName());
- }
- }
- }
- }
- } catch (Exception e) {
- // System.out.println("复制整个文件夹内容操作出错");
- e.printStackTrace();
- }
- folderList.removeFirst();
- folderList2.removeFirst();
- }
- File f = new File(str1);
- if (!f.delete()) {
- for (File file : f.listFiles()) {
- if (file.list().length == 0) {
- System.out.println(file.getPath());
- file.delete();
- }
- }
- }
- //16.移动一个文件夹下所有的文件夹到另一个目录下
- //import java.io.*;
- //import java.util.*;
- File movefolders=new File(str1);
- File[] movefoldersList=movefolders.listFiles();
- for(int k=0;k<movefoldersList.length;k++){
- if(movefoldersList[k].isDirectory()){
- ArrayListfolderList=new ArrayList();
- folderList.add(movefoldersList[k].getPath());
- ArrayListfolderList2=new ArrayList();
- folderList2.add(str2+"/"+movefoldersList[k].getName());
- for(int j=0;j<folderList.length;j++){
- (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
- File folders=new File(folderList.get(j));
- String[] file=folders.list();
- File temp=null;
- try {
- for (int i = 0; i < file.length; i++) {
- if(folderList.get(j).endsWith(File.separator)){
- temp=new File(folderList.get(j)+"/"+file[i]);
- }
- else{
- temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
- }
- FileInputStream input = new FileInputStream(temp);
- if(temp.isFile()){
- FileInputStream input = new FileInputStream(temp);
- FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" + (temp.getName()).toString());
- byte[] b = new byte[5120];
- int len;
- while ( (len = input.read(b)) != -1) {
- output.write(b, 0, len);
- }
- output.flush();
- output.close();
- input.close();
- temp.delete();
- }
- if(temp.isDirectory()){//如果是子文件夹
- folderList.add(folderList.get(j)+"/"+file[i]);
- folderList2.add(folderList2.get(j)+"/"+file[i]);
- }
- }
- }
- catch (Exception e) {
- System.out.println("复制整个文件夹内容操作出错");
- e.printStackTrace();
- }
- }
- movefoldersList[k].delete();
- }
- }
- //17.以一个文件夹的框架在另一个目录创建文件夹和空文件
- //import java.io.*;
- //import java.util.*;
- boolean b=false;//不创建空文件
- ArrayListfolderList=new ArrayList();
- folderList.add(str1);
- ArrayListfolderList2=new ArrayList();
- folderList2.add(str2);
- for(int j=0;j<folderList.length;j++){
- (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
- File folders=new File(folderList.get(j));
- String[] file=folders.list();
- File temp=null;
- try {
- for (int i = 0; i < file.length; i++) {
- if(folderList.get(j).endsWith(File.separator)){
- temp=new File(folderList.get(j)+"/"+file[i]);
- }
- else{
- temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
- }
- FileInputStream input = new FileInputStream(temp);
- if(temp.isFile()){
- if (b) temp.createNewFile();
- }
- if(temp.isDirectory()){//如果是子文件夹
- folderList.add(folderList.get(j)+"/"+file[i]);
- folderList2.add(folderList2.get(j)+"/"+file[i]);
- }
- }
- }
- catch (Exception e) {
- System.out.println("复制整个文件夹内容操作出错");
- e.printStackTrace();
- }
- }
- //18.复制文件
- //import java.io.*;
- int bytesum = 0;
- int byteread = 0;
- File oldfile = new File(str1);
- try {
- if (oldfile.exists()) { //文件存在时
- FileInputStream inStream = new FileInputStream(oldfile); //读入原文件
- FileOutputStream fs = new FileOutputStream(new File(str2,oldfile.getName()));
- byte[] buffer = new byte[5120];
- int length;
- while ( (byteread = inStream.read(buffer)) != -1) {
- bytesum += byteread; //字节数 文件大小
- System.out.println(bytesum);
- fs.write(buffer, 0, byteread);
- }
- inStream.close();
- }
- }
- catch (Exception e) {
- System.out.println("复制单个文件操作出错");
- e.printStackTrace();
- }
- //19.复制一个文件夹下所有的文件到另一个目录
- //import java.io.*;
- File copyfiles=new File(str1);
- File[] files=copyfiles.listFiles();
- for(int i=0;i<files.length;i++){
- if(!files[i].isDirectory()){
- int bytesum = 0;
- int byteread = 0;
- try {
- InputStream inStream = new FileInputStream(files[i]); //读入原文件
- FileOutputStream fs = new FileOutputStream(new File(str2,files[i].getName());
- byte[] buffer = new byte[5120];
- int length;
- while ( (byteread = inStream.read(buffer)) != -1) {
- bytesum += byteread; //字节数 文件大小
- System.out.println(bytesum);
- fs.write(buffer, 0, byteread);
- }
- inStream.close();
- } catch (Exception e) {
- System.out.println("复制单个文件操作出错");
- e.printStackTrace();
- }
- }
- }
- //20.提取扩展名
- String str2=str1.substring(str1.lastIndexOf(".")+1);
java常见文件操作的更多相关文章
- Python 常见文件操作的函数示例(转)
转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...
- Python常见文件操作的函数示例
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
- Java api 入门教程 之 JAVA的文件操作
I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...
- JAVA的文件操作【转】
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...
- java中文件操作的工具类
代码: package com.lky.pojo; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...
- java csv 文件 操作类
一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...
- java中文件操作《一》
在日常的开发中我们经常会碰到对文件的操作,在java中对文件的操作都在java.io包下,这个包下的类有File.inputStream.outputStream.FileInputStream.Fi ...
- java IO文件操作简单基础入门例子,IO流其实没那么难
IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想.今天整理了一份适合初学者学习的简单例子,让大家可以更深刻的理解IO流的具体操作. 1.文件拷贝 ...
- Java常用文件操作-2
上篇文章记录了常用的文件操作,这里记录下通过SSH服务器操作Linux服务器的指定路径下的文件. 这里用到了第三方jar包 jsch-0.1.53.jar, jsch-api 1.删除服务器上指定路径 ...
随机推荐
- 复习php的一些函数
2014.07.04 查看ecshop的一些源码,学习了一些函数.
- Iphone安装铃声
PP助手 应用列表中打开铃声多多文档. 5点击铃声下载,找到下载的铃声,按下图所示步骤导出至电脑. 6在PP助手界面内,找到"视频音乐"标签,然后进入视频音乐分类下的铃声分类,点击 ...
- 最通用的ibatis.Net使用sql server存储过程返回分页数据的详细例子
ibatis.Net是一个比较简单和灵活的ORM框架,今天我分享一个我的项目中使用sql server通用存储过程来分页的一个例子,用ibatis.Net框架统一返回分页数据为IList<Has ...
- Java中间件:淘宝网系统高性能利器(转)
淘宝网是亚太最大的网络零售商圈,其知名度毋庸置疑,吸引着越来越多的消费者从街头移步这里,成为其忠实粉丝.如此多的用户和交易量,也意味着海量的信息处理,其背后的IT架构的稳定性.可靠性也显得尤为重要.那 ...
- --@angularjs-- $location.path('/login')-$location服务用法示例
$httpProvider interceptor .factory('auth403', ['$rootScope', '$q', '$location', function auth403($ro ...
- EF Code First:实体映射
二.实体映射 实体与数据库的映射可以通过DataAnnotation与FluentAPI两种方式来进行映射: (一) DataAnnotation DataAnnotation 特性由.NET 3.5 ...
- LINQ to Sql系列一 增,删,改
首先,我们来了解一下LINQ to sql 是什么,我想从以下几点来做说明. 1,LINQ是从.net framework 3.0开始引入的的语言特性,主要是用来对集合数据进行操作的.2,LINQ t ...
- js实现数组去重并且显示重复的元素和索引值
var arr=["a","b","c","d","c","b","d ...
- 【.net 深呼吸】细说CodeDom(10):生成异常处理语句
写完这一篇,大概可以准备过年了,就算是这系列文章的收尾吧. 异常处理语句,就是常说的try...catch语句,有时候,也会带有finally子句.要生成异常处理语句,得用到CodeTryCatchF ...
- Python内置数据类型总结
python的核心数据类型:(很多语言之提供了数字,字符串,文件数据类型,其他形式的数据类型都以标准库的形式表示 也就是用之前需要import ) ,但是python有很多都是内置的,不需要impor ...