精华内容
下载资源
问答
  • Java文件操作(超详细+代码示例)

    万次阅读 多人点赞 2019-04-21 21:26:03
    Java文件操作一、Java.io包1.1 File类1.2 Stream流1.2.1 使用FileInputStream类1.2.2 使用FileOutputStream类二、序列化 我们日常使用电脑的时候,基本都会和文件打交道,比如我们做ppt,或者写论文的时候,我们打开...

    2020 最新更新:
    Java IO 系列内容

    我们日常使用电脑的时候,基本都会和文件打交道,比如我们做ppt,或者写论文的时候,我们打开的word,ppt等等都是一个文件,这些文件不一样的主要是因为后缀名不一样,所以计算机才可以分辨出来这些文件的区别。

    文件一般都存放在硬盘中,在上世纪还会存储在光驱还有软盘等等

    一、Java.io包

    • 现在大家看到 “i/o” 想必也不会陌生了吧,这是Java中一个内置的包,专门用于文件读写的一个操作的类
    • 在程序中使用 文件或者的操作就要导入import java.io.*;
    1.1 File类
    • File类可以表示一个文件,还可以表示一个目录(Directory),所以我们可以在程序中用File 类的对象可以表示一个文件 或者 目录
    • 当创建了 File 对象之后,我们可以利用该对象来对文件或者目录进行书属性修改:例如:文件的名称,修改日期的日期等等
    • File 类的对象 还不能直接对文件进行读写操作,只能修改文件的属性

    File类 示例:

    import java.io.*;
    
    public class FileDemo {
    	public static void main(String[] args) {
    		File f1=new File("src\\aa.txt");//相对路径,如果没有前面的src,就在当前目录创建文件
    		if(f1.exists()) {
    			System.out.println("文件已经存在");
    		}else {
    			try {
    				f1.createNewFile();
    				System.out.println("文件创建成功");
    			} catch (Exception e) {
    				// TODO: handle exception
    			}
    		}
    		System.out.println("文件已经存在:"+f1.exists());
    		System.out.println("文件的名字:"+f1.getName());
    		System.out.println("文件的路径:"+f1.getPath());
    		System.out.println("文件的绝对路径:"+f1.getAbsolutePath());
    		System.out.println("是目录吗:"+f1.isDirectory());
    		System.out.println("文件大小:"+f1.length());
    	}
    }
    

    在这里插入图片描述
    Tips:这里我运行了两次,一开始文件是不存在的,所以程序会进入else,完成创建这个文件的操作,上面的图片我截图是第二次运行的情况

    1.2 Stream流(字节流)

    流是指一连串流动的数据信号,通过FiFO(先进先出) 的方式接收和发送数据

    • 数据流又分为输入流输出流
    • 输入输出流又分为字节流字符流
    1. 字节流:以字节为基本单位 , 在 java.io包中,大部分操作继承InputStream(输入字节流)类和OutputStream(输出字节流)类
    2. 字符流:两个字节为基本单位,专门处理字符串和文本,对于字符流进行操作的类主要是Reader(读取流)类和 Writer(写入流)类。
    1.2.1 使用FileInputStream类
    • 继承于InputStream类,这是一个文件输入流,进行文件读操作的最基本的类
    • 作用是将文件中的数据输入到内存中,我们可以用它来读文件操作
    • 由于字节流的缘故,因此无法读取中文字符

    我们现在之前创建的aa.txt文件中加入如下的一句话
    在这里插入图片描述
    示例代码:

    import java.io.*;
    
    public class FileStreamDemo {
    	public static void main(String[] args) {
    		try {
    			File file=new File("src\\aa.txt");
    			FileInputStream f1=new FileInputStream(file);//这里需要进行抛出异常处理
    			for (int i = 0; i < file.length(); i++) {
    				char ch=(char)(f1.read());//循环读取字符
    				System.out.print(ch+" ");
    			}
    			System.out.println();//换行操作
    			f1.close();//关闭文件
    		} catch (Exception e) {
    			// TODO: handle exception
    			System.out.println("文件打开失败");
    		}
    
    	}
    }
    

    在这里插入图片描述
    这里我在文件中的感叹号打的是中文的字符,所以字节流是无法读取的

    这里我们使用了一个新的知识点,try catch的一个异常捕获的知识点,这样操作的好处,即使报错了,程序也可以正常的运行下去,并显示报错信息

    1.2.2 使用FileOutputStream类
    • FileOutputStream类称为文件输出流,继承于OutputStream类,是文件的基本读写的一个类
    • 它的作用和上面读文件恰恰相反,将内存中的数据输出到文件中,所以我们可以用这个类来进行写文件的操作

    我们先按aa,txt文件的内容清空,然后实现下边的代码进行写操作
    代码示例:

    import java.io.*;
    
    public class FileOuputDemo {
    	public static void main(String[] args) throws FileNotFoundException {
    		File file=new File("src\\aa.txt");
    		FileOutputStream f1=new FileOutputStream(file);//(file,true),这里有true的话,代表可以在文件后面追加内容
    		String str="I love coding";
    		byte[] buff=str.getBytes();//将字符串转换为字节数组
    		try {
    			f1.write(buff);//把字节数组的内容写进去文件
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {
    			try {
    				f1.close();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    }
    

    在这里插入图片描述

    1.2.3 小总结
    • FileInputStream类 和 FileOutputStream类总是成对出现的,一个用作输入流,另一个自然是输出流
    • 我们在输入流中使用 byte(字节)数组 来存储我们的数据,因此我们不必考虑数据格式,所以说这两种操作的效率会比较高
    1.3 Stream流(字符流)

    字符串的读取,以及解决中文字符无法读入的问题

    1.3.1 FileWriter类 与 BufferedWriter类使用

    问题描述:

    前面我们FileInputStream时,使用的是字节流,但是有个问题无法解决,它只能读取英文字符,而中文字符是无法读取的,会出现奇怪的东西。

    这个操作就可以直接读入字符串了
    示例:

    import java.io.*;
    
    public class FileWriterDemo {
    	public static void main(String[] args) {
    		String[] str= {"春眠不觉晓,","处处闻啼鸟,","夜来风雨声,","花落知多少,"};
    		File file=new File("src\\cc.txt");//我们在该类的位置创建一个新文件
    		FileWriter f=null;//创建文件写入对象
    		BufferedWriter f1=null;//创建字符流写入对象
    	
    		try {
    			//这里把文件写入对象和字符流写入对象分开写了
    			f=new FileWriter("src\\cc.txt");//创建一个名为cc.txt的文件
    			f1=new BufferedWriter(f);
    			//通过循环遍历上面的String 数组中的元素
    			for (int i = 0; i < str.length; i++) {
    				f1.write(str[i]);//把String中的字符写入文件
    				f1.newLine();//换行操作
    				}
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {//如果没有catch 异常,程序最终会执行到这里
    			try {
    				f1.close();
    				f.close();//关闭文件
    			} catch (Exception e2) {
    				// TODO: handle exception
    			}
    		}
    	}
    }
    

    在这里插入图片描述
    反思与总结:

    这段代码我在调试的过程中,犯下了一个致命的错误,就是文件关闭的先后的顺序,我们应该先关闭输入流,然后再关闭文件,我之前是先关闭文件,导致写进去的内容还没保存就关掉了。这里一定要注意!!!

    1.3.2 FileReader类 与 BufferedReader类使用

    读取上面写入文件的数据

    import java.io.*;
    
    public class FileReaderDemo {
    	public static void main(String[] args) {
    		File file=new File("src\\cc.txt");
    		FileReader f=null;//文件读取对象
    		BufferedReader f1=null;//字符流对象
    		try {
    			f=new FileReader(file);
    			f1=new BufferedReader(f);
    			//循环打印cc文件中的每行数据
    			String str=null;
    			while((str=f1.readLine())!=null) {
    				System.out.println(str);
    			}
    				
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {
    			try {
    				f1.close();
    				f.close();
    			} catch (Exception e2) {
    				// TODO: handle exception
    			}
    		}
    	}
    }
    

    运行结果:
    在这里插入图片描述

    二、序列化与反序列化

    简化成一句话、序列化是把Java对象存在一个硬盘,网络,以便传输
    也就是把我们的数据永久的存放到计算机当中

    2.1 FileOutputStream类 以及 ObjectOutputStream类的使用

    这也成为序列化的操作

    将你的数据存入计算机中
    示例:

    import java.io.*;
    import java.util.*;
    
    /**
     * 序列化操作
     * */
    public class Xl {
    	public static void main(String[] args) {
    		//数据完成持久化的操作
    		List<String> list=new ArrayList<String>();
    		list.add("aaa");
    		list.add("bbb");
    		list.add("ccc");
    		FileOutputStream f1=null;
    		ObjectOutputStream f2=null;
    		try {
    			//第一行省略了前面的 File file = new File(~)的操作,直接创建一个文件
    			f1=new FileOutputStream(new File("src\\dd.txt"));
    			f2=new ObjectOutputStream(f1);
    			f2.writeObject(list);
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {
    			try {
    				f2.close();
    				f1.close();
    			} catch (Exception e2) {
    				// TODO: handle exception
    			}
    		}
    	}
    

    我们来看看我们写入的数据
    在这里插入图片描述
    虽然我们看不懂,但是计算机看得懂呀

    2.1 FileInputStream类 以及 ObjectInputStream类的使用

    反序列化

    import java.io.*;
    import java.util.*;
    
    //反序列化操作
    public class FXL {
    	public static void main(String[] args) {
    		FileInputStream f=null;
    		ObjectInputStream f1=null;
    		List list=null;
    		try {
    			f=new FileInputStream("src\\dd.txt");//对应我们前面往输入dd.txt 文件的内容
    			f1=new ObjectInputStream(f);
    			list=(List<String>)f1.readObject();
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {
    			try {
    				f1.close();
    				f.close();
    			} catch (Exception e2) {
    				// TODO: handle exception
    			}
    		}
    		//这种方法就不必循环打印数据了,可以一步到位
    		System.out.println(list);
    	}
    }
    

    在这里插入图片描述
    如果我们读入的是字符流数据,在反序列化的操作,我们需要实现Serializable 接口,如下代码所示

    import java.io.*;
    import java.util.*;
    
    /**
     * 2:将三个学生对象序列化进去,在取出来(参考一下txt里面的做法)
     *	对象需要实现Serializable
     * */
    public class Work2 implements Serializable{
    	public static void main(String[] args) {
    		Student stu[]=new Student[3];
    		FileOutputStream f1=null;
    		ObjectOutputStream f2=null;
    		
    		//初始化三个学生的数据
    		stu[0]=new Student("小明",18,"男");
    		stu[1]=new Student("小白",19,"女");
    		stu[2]=new Student("小张",20,"男");
    		
    		//学生信息的序列化
    		try {
    			f1=new FileOutputStream("Student.txt");
    			f2=new ObjectOutputStream(f1);
    			for (int i = 0; i < stu.length; i++) {
    				f2.writeObject(stu[i]);
    			}
    	
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {
    			try {
    				f2.close();
    				f1.close();
    			} catch (Exception e2) {
    				// TODO: handle exception
    			}
    		}
    		
    		
    		//学生信息的取出(反序列化)
    		FileInputStream f3=null;
    		ObjectInputStream f4=null;
    		List<Object> list1=null;
    		
    		try {
    			f3=new FileInputStream("Student.txt");
    			f4=new ObjectInputStream(f3);
    			System.out.println("学生的姓名\t年龄\t性别\t");
    				for (int i = 0; i < stu.length; i++) {
    					System.out.println(stu[i].getStudentName()+"\t"+stu[i].getAge()+"\t"+stu[i].getGender());
    				}
    			
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally {
    			try {
    				f4.close();
    				f3.close();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    
    	}
    }
    
    

    在这里插入图片描述

    三、题外话

    • 是不是感觉意犹未尽
    • 没有找到你想要的答案
    • 那就试试看这篇文章 —— 系统学习 Java io

    这篇文章是我在疫情期间,把 Java SE,EE 的知识体系构建出来了,欢迎大家来指正

    展开全文
  • 常见文件操作java代码)

    万次阅读 多人点赞 2018-02-23 15:19:25
    主要用于读取图片,MP3,AVI视频文件。 字符流:字符流使用了字节流读到一个或多个字节,如读取中文时,就会一次读取2个字节。只要是处理纯文本数据,就要优先考虑使用字符流。 字节流和字符流区别 字节流...

    字节流和字符流概念

    字节流:字节流读取的时候,读到一个字节就返回一个字节;主要用于读取图片,MP3,AVI视频文件。

    字符流:字符流使用了字节流读到一个或多个字节,如读取中文时,就会一次读取2个字节。只要是处理纯文本数据,就要优先考虑使用字符流。

    字节流和字符流区别

    • 字节流操作的基本单元为字节;字符流操作的基本单元为Unicode码元。
    • 字节流默认不使用缓冲区;字符流使用缓冲区。
    • 字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元;字符流通常处理文本数据,它支持写入及读取Unicode码元。

    创建、删除文件夹

    String path = "F:\\test";
    File myFile = new File(path);
    
    if (!myFile.exists()) {
        // 创建文件夹
        myFile.mkdir();
        // myFile.mkdirs();
    
        // 删除文件夹
        myFile.delete();
    }
    
    // mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹

    创建、删除文件

    String content = "Hello World";
    
    // 第一种方法:根据文件路径和文件名
    String path = "F:\\test";
    String filename = "test.txt";
    File myFile = new File(path,filename);
    
    // 第二种方法
    String file = "F:\\test\\test.txt";
    File myFile = new File(file);
    
    if (!myFile.exists()) {
        // 创建文件(前提是目录已存在,若不在,需新建目录即文件夹)
        myFile.createNewFile();
    
        // 删除文件
        myFile.delete();
    }
    

    写入文件

    // 第一种:字节流FileOutputStream
    FileOutputStream fop = new FileOutputStream(myFile); 
    byte[] contentInBytes = content.getBytes();
    fop.write(contentInBytes);  
    fop.flush();  
    fop.close(); 
    
    // 第二种:FileWriter(参数true为追加内容,若无则是覆盖内容)
    FileWriter fw = new FileWriter(myFile,true);
    fw.write(content);
    fw.close();
    
    // 第三种:BufferedWriter
    BufferedWriter bw = new BufferedWriter(new FileWriter(myFile,true));
    bw.write(content);  
    bw.flush();  
    bw.close(); 
    
    // 第四种:打印流PrintStream和PrintWriter
    // 字节打印流:PrintStream
    // 字符打印流:PrintWriter
    
    PrintWriter pw = new PrintWriter(new FileWriter(myFile,true));   
    pw.println(content);      // 换行
    pw.print(content);        // 不换行
    pw.close();
    
    // 常用BufferedWriter和PrintWriter

    读取文件

    • FileInputStream
    // 第一种:以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 
    InputStream in = new FileInputStream(myFile);
    
    // 一次读一个字节
    int tempbyte;  
    while ((tempbyte = in.read()) != -1) {  
        System.out.write(tempbyte);  
    }  
    in.close();
    
    // 一次读多个字节
    int byteread = 0;
    byte[] tempbytes = new byte[100];
    ReadFromFile.showAvailableBytes(in);
    while ((byteread = in.read(tempbytes)) != -1) {  
        System.out.write(tempbytes, 0, byteread);  
    }  
    
    // System.out.write()方法是字符流,System.out.println()方法是字节流
    • InputStreamReader
    // 第二种:以字符为单位读取文件,常用于读文本,数字等类型的文件 
    Reader reader = new InputStreamReader(new FileInputStream(myFile)); 
    
    // 一次读一个字节
    int tempchar;  
    while ((tempchar = reader.read()) != -1) {  
        // 对于windows下,\r\n这两个字符在一起时,表示一个换行。  
        // 但如果这两个字符分开显示时,会换两次行。  
        // 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。  
        if (((char) tempchar) != '\r') {  
            System.out.print((char) tempchar);  
        }  
    }  
    reader.close();
    
    // 一次读多个字节
    char[] tempchars = new char[30];  
    int charread = 0;  
    // 读入多个字符到字符数组中,charread为一次读取字符数  
    while ((charread = reader.read(tempchars)) != -1) {  
        // 同样屏蔽掉\r不显示  
        if ((charread == tempchars.length) && (tempchars[tempchars.length - 1] != '\r')) {  
            System.out.print(tempchars);  
        } else {  
            for (int i = 0; i < charread; i++) {  
                if (tempchars[i] == '\r') {  
                    continue;  
                } else {  
                    System.out.print(tempchars[i]);  
                }  
            }  
        }  
    }
    
    • BufferedReader
    // 第三种:以行为单位读取文件,常用于读面向行的格式化文件 
    BufferedReader reader = new BufferedReader(new FileReader(myFile));
    String tempString = null;  
    int line = 1;  
    // 一次读入一行,直到读入null为文件结束  
    while ((tempString = reader.readLine()) != null) {  
        // 显示行号  
        System.out.println("line " + line + ": " + tempString);  
        line++;  
    }  
    reader.close();  
    
    // 常用BufferedReader

    遍历文件(以删除一个文件夹下所有文件为例)

    File[] files=myFile.listFiles();   
    for(int i=0;i<files.length;i++){   
        if(files[i].isDirectory()){   
            files[i].delete();   
        }   
    }  

    文件函数

    //判断文件是否存在  
    myFile.exists()
    
    //读取文件名称  
    myFile.getName()
    
    //读取文件路径(相对路径)  
    myFile.getPath()
    
    //读取文件绝对路径  
    myFile.getAbsolutePath()
    
    //读取文件的父级路径  
    new File(myFile.getAbsolutePath()).getParent()
    
    //读取文件的大小  
    myFile.length()
    
    //判断文件是否被隐藏  
    myFile.isHidden()
    
    //判断文件是否可读  
    myFile.canRead()
    
    //判断文件是否可写  
    myFile.canWrite()
    
    //判断文件是否为文件夹  
    myFile.isDirectory()
    
    展开全文
  • Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
  • Java文件操作

    万次阅读 多人点赞 2018-06-13 15:37:04
    Java文件操作 1、简介 Java中的File类给我们提供了文件操作的基础,本博客讲解的内容是工程训练任务2.1中的一些程序,对于写入操作在上一篇博客中已经有所涉及,故本博客只展示任务挑战中的三个小程序。 2、...

    Java文件操作

    1、简介

    Java中的File类给我们提供了文件操作的基础,本博客讲解的内容是工程训练任务2.1中的一些程序,对于写入操作在上一篇博客中已经有所涉及,故本博客只展示任务挑战中的三个小程序。


    2、基本任务和代码

    (1)挑战任务1

    1)任务内容
    编写一个Java程序对文本文件按行进行读取,每读取一行后显示此行,并统计此行有多少字节,有多少字符并显示统计结果,最后显示总的行数。

    2)任务代码
    代码每一行均有注释,代码如下:

    import java.io.BufferedReader;//导入java.io包下的BufferedReader类
    import java.io.FileReader;//导入java.io包下的FileReader类
    import java.io.IOException;//导入java.io包下的IOException类
    public class TEST1{//类名
        public static void main(String[] args){//程序主入口函数,带命令行参数
            try {//try代码块,当发生异常时会转到catch代码块中
                //读取指定的文件
                BufferedReader in = new BufferedReader(new FileReader("D:\\CSDN博客展示\\文件存放处\\Test1.txt"));
                String str=null;//定义一个字符串类型变量str
                int i=0;//定义一个整型变量
                while ((str = in.readLine())!= null) {//readLine()方法, 用于读取一行,只要读取内容不为空就一直执行
                    i++;
                    byte[] bytes=str.getBytes();//获得字节数
                    System.out.print("第"+i+"行:"+str+"    ");//输出从每一行读取的内容
                    System.out.println("第"+i+"行有"+bytes.length+"个字节"+str.length()+"个字符");//输出每一行的字符和字节个数
                }
                System.out.println("该文本共有"+i+"行");//输出总的行数
            } catch (IOException e) {//当try代码块有异常时转到catch代码块
                e.printStackTrace();//printStackTrace()方法是打印异常信息在程序中出错的位置及原因
            }
        }
    }

    3)运行结果
    这里写图片描述

    (2)挑战任务2

    1)任务内容
    编写一个Java程序通过二进制流的方式实现对任何类型文件的复制操作。
    我的思路如下:首先文件Test2.txt在路径“D:\CSDN博客展示\文件存放处”中,然后通过程序将该文件复制到路径“D:\CSDN博客展示\文件复制处”里面。

    2)任务代码
    代码每一行均有注释,代码如下:

    import java.io.File;//导入java.io包下的File类
    import java.io.FileInputStream;//导入java.io包下的FileInputStream类
    import java.io.FileOutputStream;//导入java.io包下的FileOutputStream类
    import java.io.IOException;//导入java.io包下的IOException类
    public class TEST2{//类名
        public static void main(String[] args) throws IOException{//程序主入口函数,带命令行参数
            //封装好需要复制的文件原路径
           FileInputStream fis=new FileInputStream("D:\\CSDN博客展示\\文件存放处\\Test2.txt");
           //将文件复制到指定路径下
           FileOutputStream fos=new FileOutputStream("D:\\CSDN博客展示\\文件复制处\\Test2.txt");
           byte[] lsy=new byte[fis.available()];//定义字节数组用来当作缓冲区
           fis.read(lsy);//将文件以字节流形式读入缓冲区字节数组
           fos.write(lsy);//从缓冲区字节数组中以字节流形式取出
           fos.close();//关闭读取流
           fis.close();//关闭写入流
           File file=new File("D:\\CSDN博客展示\\文件复制处\\Test2.txt");//创建文件对象
            if(file.exists()){//if语句的条件,调用exists方法判断文件是否存在
                 System.out.println("文件成功复制到指定路径下");//若文件存在,则输出文件存在
            }
            else{//否则
                 System.out.println("文件复制失败");//输出文件不存在
            }
        }
    }

    3)运行结果
    这里写图片描述

    (3)挑战任务3

    1)任务内容
    编写一个Java程序通过二进制流的方式实现对任何类型文件的移动操作。
    我的思路如下:首先文件Test3.txt在路径“D:\CSDN博客展示\文件存放处”中,然后通过程序将该文件移动到路径“D:\CSDN博客展示\文件移动处”里面。

    2)任务代码
    代码每一行均有注释,代码如下:

    import java.io.File;//导入java.io包下的File类
    import java.io.FileInputStream;//导入java.io包下的FileInputStream类
    import java.io.FileOutputStream;//导入java.io包下的FileOutputStream类
    import java.io.IOException;//导入java.io包下的IOException类
    public class TEST3{//类名
        public static void main(String[] args) throws IOException{//程序主入口函数,带命令行参数
            //封装好需要移动的文件源路径
           File file1=new File("D:\\CSDN博客展示\\文件存放处\\Test3.txt");
           FileInputStream fis=new FileInputStream(file1);
           //将文件移动到指定路径下
           FileOutputStream fos=new FileOutputStream("D:\\CSDN博客展示\\文件移动处\\Test3.txt");
           byte[] lsy=new byte[fis.available()];//定义字节数组用来当作缓冲区
           fis.read(lsy);//将文件以字节流形式读入缓冲区字节数组
           fos.write(lsy);//从缓冲区字节数组中以字节流形式取出
           fos.close();//关闭读取流
           fis.close();//关闭写入流
           file1.delete();//删除源文件
           File file2=new File("D:\\CSDN博客展示\\文件移动处\\Test3.txt");//创建文件对象
            if(file2.exists()){//if语句的条件,调用exists方法判断文件是否存在
                 System.out.println("文件成功移动到指定路径下");//若文件存在,则输出文件存在
            }
            else{//否则
                 System.out.println("文件移动失败");//输出文件不存在
            }
        }
    }

    3)运行结果
    这里写图片描述


    3、总结

    本博客分享了文件的读取、复制和移动的方法,并且复制和移动不仅仅局限于txt文件,大家可以使用其他类型的文件进行实验,由于这些程序是我在四月份做工程训练任务2.1时所做,故会有一些不足之处,请多多包涵。

    展开全文
  • Alluxio文件操作Java API示例

    千次阅读 2016-03-21 17:19:50
    Alluxio文件操作Java API示例

            

            一、写文件

    		// 获取文件系统客户端FileSystem实例
    		FileSystem fs = FileSystem.Factory.get();
    		
    		// 构造Alluxio路径AlluxioURI实例
    		AlluxioURI path = new AlluxioURI("/myFile");
    		
    		// 设置一些操作选项
    		// 设置文件块大小为128M
    		CreateFileOptions options = CreateFileOptions.defaults().setBlockSize(128 * Constants.MB);
    		
    		// 创建一个文件并获取它的文件输出流FileOutStream实例
    		FileOutStream out = fs.createFile(path);
    		
    		// 调用文件输出流FileOutStream实例的write()方法写入数据
    		out.write(...);
    		
    		// 关闭文件输出流FileOutStream实例,结束写文件操作
    		out.close();

            二、读文件

    		// 获取文件系统客户端FileSystem实例
    		FileSystem fs = FileSystem.Factory.get();
    				
    		// 构造Alluxio路径AlluxioURI实例
    		AlluxioURI path = new AlluxioURI("/myFile");
    				
    		// 打开一个文件,获得文件输入流FileInStream(同时获得一个锁以防止文件被删除)
    		FileInStream in = fs.openFile(path);
    		
    		// 调用文件输入流FileInStream实例的read()方法读数据
    		in.read(...);
    		
    		// 关闭文件输入流FileInStream实例,结束读文件操作(同时释放锁)
    		in.close();


            


    展开全文
  • java 文件操作

    千次阅读 多人点赞 2018-10-03 23:30:38
    java 文件操作 一、相关知识学习 1、 获取文件的属性信息 boolean exists():判断文件或目录是否存在 String getName():返回文件或目录的名称 String getParent():返回父路径的路径名字符串 String ...
  • JAVA中读写文件操作

    千次阅读 2018-03-21 10:44:12
    java文件读取有两种类型,我这里的是字节流的读取操作package test1;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io....
  • 接到需求要对第三方公司的服务器进行文件操作,包括文件的上传下载等。。。以下是具体实现代码,希望能帮助到有同样需求的战友,有疑问可以微信交流:【shedexinjing】 package com.util; import java.io....
  • Java文件读写操作

    千次阅读 2018-08-02 11:23:25
    Java中I/O流对文件的读写有很多种方法,在这里我主要介绍三种方式,供大家参考。 第一种方式:使用FileWriter和FileReader,对文件内容按字符读取,代码如下 String dir = "E:\\soft\\aaa\\a.txt"; File...
  • JAVA操作properties配置文件

    万次阅读 2018-07-31 22:41:08
    一、简介 &lt;1&gt; java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*....properties文件Java编程中用到的地方很多,操作很方便。 二、Java的Properties类 属性映射(pr...
  • java文件操作(创建读取写入删除)

    千次阅读 2018-12-21 09:37:17
    文章目录文件处理文件的基本概念Java中的file类对文件操作判断文件是否存在,如果不存在就创建一个文件写入文件删除对文件夹的操作得到文件夹中的文件列表文件夹删除 文件处理 文件的基本概念 Java程序可访问的最...
  • 开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作
  • Java文件读写操作

    万次阅读 多人点赞 2012-08-20 10:50:11
    file(内存)----输入流---->【程序】----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader...你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编
  • java 操作文件权限

    千次阅读 2019-01-15 14:42:23
    java 操作文件权限java 操作文件权限代码 java 操作文件权限 java 生成linux下的文件,有时候需要添加权限。比如755权限 代码 File directory = file.getParentFile(); FileUtils.forceMkdir(directory); ...
  • Java文件操作①——XML文件的读取

    千次阅读 2019-02-28 14:40:47
    阅读目录一、邂逅XML二、应用 DOM ...本文主要讲Java解析和生成XML。用于不同平台、不同设备间的数据共享通信。 XML文件的表现:以“.xml”为文件扩展名的文件;  存储结构:树形结构; &nbsp; 节点名称区分大...
  • Java文件操作工具类FileUtils

    万次阅读 2018-01-26 14:56:21
    /*读取Text文件操作*/ public static String readText(String filePath) { String lines = "" ; try { FileReader fileReader = new FileReader(filePath); BufferedReader bufferedReader = new ...
  • JAVA文件IO操作

    万次阅读 2019-09-06 22:44:41
    Java提供了I/O操作可以将数据保存到多种类型的文件当中(当然每种特定格式的文件有其独特的构造方式和存取方式),本篇笔记将带你了解操作各种类型文件都具有的共同部分,了解了这些共同之处,就算遇到鲜有接触的...
  • 批量操作 批量查询 需求: 把D:\JavaSE\CodeLibrary文件夹下的所有的 class 结尾的文件输出在控制台 思路: 1.封装文件路径指向 D:\JavaSE\CodeLibrary 2.获取到目录下所有的文件或者文件夹 3.遍历每一个文件 或者 ...
  • java操作mongoDB实现文件上传预览打包下载

    千次下载 热门讨论 2013-09-16 16:20:52
    主要功能:文件上传、下载、预览、打包下载
  • java文件复制方法Java copy file is a very common operation. But java.io.File class doesn’t have any shortcut method to copy a file from source to destination. Here we will learn about four different ...
  • Java文件写入操作

    千次阅读 2019-07-02 14:35:30
    package demo1; import java.io.File; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException;...import java.util.Arrays;...import java.util....//文件夹操作 public c...
  • 使用Java操作csv文件

    千次阅读 2018-08-10 14:53:13
    以前就一直很想搞懂一个问题就是java如何读取和写入csv文件,现在要花时间总结一波。 主要使用的javaCSV.jar javaCSV API:http://javacsv.sourceforge.net/ jar包下载地址: ...
  • java删除文件目录及文件Today we will look into Java delete file and java delete directory examples. Earlier we learned how to create a file in java. 今天,我们将研究Java删除文件Java删除目录示例。 ...
  • JAVA代码实现远程服务器的文件操作

    千次阅读 2016-10-27 15:26:15
    1、 下载svnkit的jar包 网址:...Jar名:svnkit-1.9.0-r10609-atlassian-hosted.jar和svnkit-1.8.12.jar注:JAVA类中导入jar— com.trilead.ssh2.* 例: import com.t
  • Java读取文件内容和写入内容到文件

    万次阅读 多人点赞 2017-10-10 11:12:36
    Java读取文件内容方法和写入内容到文件方法
  • java读写xlsx文件

    热门讨论 2012-04-09 14:13:47
    java利用poi读写excel2010(xlsx)文件 环境:eclipse3.7.2,jre6,excel2010
  • Java操作doc文件

    千次阅读 2018-01-03 15:47:34
    读取并修改doc文件内容
  • JAVA 进行hdfs 文件操作

    千次阅读 2018-05-07 15:49:21
    1 文件上传2 文件下载3 新建文件夹4查看文件 “listFiles“列出的是hdfs上所有文件的路径,不包括文件夹。根据你的设置,支持递归查找。 ”listStatus“列出的是所有的文件和文件夹,不支持递归查找。如许递归,...
  • Java文件操作类File

    万次阅读 2016-12-10 09:31:06
    所有详细说明,都在源代码注释中。...import java.io.File; /** 1、创建文件:file.createNewFile() public class TestDemo { public static void main(String[] args) throws Exception {//此处直接抛出 File f
  • Java 文件操作

    万次阅读 2015-06-06 15:38:39
    11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从...11.3.1 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件、声音文件等数据文件,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,786,745
精华内容 714,698
关键字:

文件操作java

java 订阅