File类的作用

·创建、删除文件;

·重命名文件;判断文件的读写权限及是否存在;

·设置和查询文件的最近修改时间等;

·构造文件流可以使用File类的对象作为参数。

//: FileTester.java

package com.xuetang.four;

import java.io.File;

/**
* @author WuRoc
* @GitHub www.github.com/WuRoc
* @version 1.0
* @2020年8月30日
* import static com.wuroc.util.Print.*;
*
*/
public class FileTester {
public static void main(String[] args) {
File f = new File("Hello.txt");
if (f.exists())
f.delete();
else
try {
f.createNewFile();
}
catch(Exception e) {
System.out.println(e.getMessage());
} } }

运行结果

因为在前面的例子中已经创建了Hello.txt,所以第一次运行将删除这个文件第二次运行则又创建了一个此名的空文件

分析

在试图打开文件之前,可以使用File类的isFile方法来确定File对象是否代表一个文件而非目录)还可通过exists方法判断同名文件或路径是否存在,进而采取正确的方法,以免造成误操作

复制文件改进

//: NewCopyBytes.java

package com.xuetang.four;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; /**
* @author WuRoc
* @GitHub www.github.com/WuRoc
* @version 1.0
* @2020年8月30日
* import static com.wuroc.util.Print.*;
*
*/
public class NewCopyBytes {
public static void main(String[] args) {
DataInputStream instr;
DataOutputStream outstr;
if (args.length != 2) {
System.out.println("Please Enter file name");
return;
}
File inFile = new File(args[0]);
File outFile = new File(args[1]);
if (outFile.exists()) { //复制的文件是否存在
System.out.println(args[1] + " already exists");
return;
} if(!inFile.exists()) { //复制源文件是否存在
System.out.println(args[0] + "does.not.exist"); return;
} try {
instr = new DataInputStream(new BufferedInputStream(new FileInputStream(inFile)));
outstr = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(outFile))); try {
int data;
while(true ) {
data = instr.readUnsignedByte(); //每次读一个字节
outstr.writeByte(data);
}
} catch(EOFException eof) {
outstr.close();
instr.close();
return; }
}
catch(FileNotFoundException nfx) {
System.out.println("Problem opening files");
} catch(IOException iox) {
System.out.println("IO Problem");
}
} }

File类 -《学堂在线》的更多相关文章

  1. java中File类的使用

    public class FileLei {    public static void main(String[] args) throws IOException {        //..表示上 ...

  2. File 类

    File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...

  3. C#File类常用的文件操作方法(创建、移动、删除、复制等)

    File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...

  4. File类基础

    File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...

  5. 【转】File类应用 - FilenameFilter 和 FileFilter

    FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...

  6. Java篇-File类之创建删除

    /** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...

  7. JavaIO之File类

    Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...

  8. I/O流——File类及使用

    I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ①   一个File类的对 ...

  9. 初学File类

    对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->java.util File类的主要方法: 构造方法 ...

  10. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

随机推荐

  1. Android JNI之编译

    JNI代码都写好了,在编译之前我们有非常重要的一部,就是写mk文件,mk文件就相当于gcc编译时的Makefile文件,它是用来告诉编译器如何去编译的. 这里只对自己理解和常用的知识点做记录,想要看关 ...

  2. java 遍历数组常见的3种方式

    1.for循环,最常见 2.利用foreach 3.利用jdk自带的方法  --> java.util.Arrays.toString()

  3. 【Python 实例】面向对象 | 按逗号分割列表

    [Python 实例]面向对象 | 按逗号分割列表 题目: 按逗号分割列表 应该得到如下结果: ["xx"],["xx"],["xx"] 解 ...

  4. 2020牛客多校第八场K题

    __int128(例题:2020牛客多校第八场K题) 题意: 有n道菜,第i道菜的利润为\(a_i\),且有\(b_i\)盘.你要按照下列要求给顾客上菜. 1.每位顾客至少有一道菜 2.给顾客上菜时, ...

  5. 分享一个内网穿透工具frp

    首先简单介绍一下内网穿透: 内网穿透:通过公网,访问局域网里的IP地址与端口,这需要将局域网里的电脑端口映射到公网的端口上:这就需要用到反向代理,即在公网服务器上必须运行一个服务程序,然后在局域网中需 ...

  6. AI测温落地趋势:已成日常刚需 产品形态呈细分化发展

    现如今不管走到哪儿,机场.车站.医院.商场.超市等公共场所都已经将体温检测作为常态化防疫手段.自全球疫情发生以来,不管欧洲.亚洲,还是中东.东南亚等国家都已经意识到,疫情防控的第一道关口便是测温. 而 ...

  7. 标星7000+,这个 Python 艺术二维码生成器厉害了!

    微信二维码,相信大家也并不陌生,为了生成美观的二维码,许多用户都会利用一些二维码生成工具. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手 ...

  8. 23、Interpreter 解释器模式

    1.Interpreter 解释器模式 解释器模式是一种使用频率相对较低但学习难度较大的设计模式,它用于描述如何使用面向对象语言构成一个简单的语言解释器.在某些情况下,为了更好地描述某一些特定类型的问 ...

  9. ebook 电子书项目

    ebook电子书网站使用eclipse开发,开发语言主体是JAVA,使用的是servlet+jsp,前端使用javascript和jQuery,页面布局设计使用的是bootstrap,在这里我记下我开 ...

  10. 5G从小就梦想着自己要迎娶:高速率、低时延、大容量三个老婆

    摘要:2020年7月9日,ITU正式把NB-IoT纳入5G标准体系! 高速率.低时延与5G是青梅竹马的关系,在大容量的选择上,5G与NB-IoT不断传出着绯闻,终于:2020年7月9日,ITU正式把N ...