`
SunnyYoona
  • 浏览: 368383 次
社区版块
存档分类
最新评论

[Java开发之路](6)File类的使用

 
阅读更多


1. 构造方法


构造方法 描述
File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建一个新的文件实例。
File(String parent , String child) 通过给定的父路径名字符串和子路径名字符串来创建一个新的文件实例。
File(File parent , String child) 通过给定的父抽象路径对象和子路径名字符串来创建一个新的文件实例。
File(URI uri) 通过给定的URI来创建一个新的文件实例

package com.qunar.bean;
import java.io.File;
import java.net.URISyntaxException;
public class FileDemo {
public static void main(String[] args) throws URISyntaxException {
String pathname = "E:\\Recommended system";
// File(String pathname)
File file1 =new File(pathname);
// File(String parent,String child)
File file2 =new File(pathname,"train_data.txt");
// File(File parent,String child)
File file3 = new File(file1, "train_data.txt");
// File(URI uri)
// File file4 =new File(new URI(""));
// separator 跨平台分隔符
File file4 =new File("E:"+File.separator+"Recommended system");
System.out.println(file1);
System.out.println(file2);
System.out.println(file3);
System.out.println(file4);
}
}
运行结果:
E:\Recommendedsystem
E:\Recommendedsystem\train_data.txt
E:\Recommendedsystem\train_data.txt
E:\Recommendedsystem



2. 创建与删除方法

方法 描述
boolean createNewFile() 如果文件存在返回false,否则返回true并且创建文件
boolean mkdir() 创建目录
boolean mkdirs() 创建多级目录
boolean delete() 如果文件存在返回true并且删除文件,否则返回false
boolean deleteOnExit() 文件使用完成后删除


package com.qunar.bean;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
public class FileDemo {
public static void main(String[] args) throws URISyntaxException {
String pathname = "D:\\Recommended system.txt";
// 创建文件实例
File file = new File(pathname);
try {
// 如果文件存在返回false,否则返回true并且创建文件
if(file.createNewFile()){
System.out.println("创建文件["+pathname+"]");
}//if
else{
System.out.println("文件["+pathname+"]已存在");
}//else
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.qunar.bean;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
String pathname = "D:\\Recommended system.txt";
// 创建文件实例
File file = new File(pathname);
//如果文件存在返回true并且删除文件,否则返回false
if(file.delete()){
System.out.println("删除文件["+pathname+"]");
}//if
else{
System.out.println("文件["+pathname+"]不存在");
}//else
}
}
package com.qunar.bean;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
String pathname = "D:\\Recommended system";
String pathname2 = "D:\\Recommended system2\\Paper\\News";
// 创建文件实例
File file = new File(pathname);
File file2 = new File(pathname2);
//如果目录不存在返回true并且创建目录,否则返回false
if(file.mkdir()){
System.out.println("创建目录["+pathname+"]");
}//if
else{
System.out.println("目录["+pathname+"]已存在");
}//else
//如果多级目录不存在返回true并且创建多级目录,否则返回false
if(file2.mkdirs()){
System.out.println("创建多级目录["+pathname2+"]");
}//if
else{
System.out.println("多级目录["+pathname2+"]已存在");
}//else
}
}

3. 判断方法


方法 描述
boolean canExecute() 判断文件是否可执行
boolean canRead() 判断文件是否可读
boolean canWrite() 判断文件是否可写
boolean exists() 判断文件是否存在
boolean isDirectory() 判断是否是目录
boolean isFile() 判断是否是文件
boolean isHidden() 判断是否隐藏
boolean isAbsolute() 判断是否是绝对路径 文件不存在也能判断

package com.qunar.bean;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
String pathname = "D:\\Recommended system\\train_data.txt";
// 创建文件实例
File file = new File(pathname);
// 判断文件是否可执行
if(file.canExecute()){
System.out.println("文件["+pathname+"]可执行");
}//if
else{
System.out.println("文件["+pathname+"]不可执行");
}//else
// 判断文件是否可读
if(file.canRead()){
System.out.println("文件["+pathname+"]可读");
}//if
else{
System.out.println("文件["+pathname+"]不可读");
}//else
// 判断文件是否可写
if(file.canWrite()){
System.out.println("文件["+pathname+"]可写");
}//if
else{
System.out.println("文件["+pathname+"]不可写");
}//else
// 判断文件是否存在
if(file.exists()){
System.out.println("文件["+pathname+"]存在");
}//if
else{
System.out.println("文件["+pathname+"]不存在");
}//else
// 判断文件是否是目录
if(file.isDirectory()){
System.out.println("文件["+pathname+"]是目录文件");
}//if
else{
System.out.println("文件["+pathname+"]不是目录文件");
}//else
// 判断是否是一个绝对路径
if(file.isAbsolute()){
System.out.println("["+pathname+"]是绝对路径");
}//if
else{
System.out.println("["+pathname+"]不是绝对路径");
}//else
}
}

4.获取方法

方法 描述
String getName() 返回文件或者是目录的名称
String getPath() 返回路径
String getAbsolutePath() 返回绝对路径
String getParent() 返回父目录,如果没有父目录则返回null
long lastModified() 返回最后一次修改的时间
long length() 返回文件的长度
File[] liseRoots() 返回系统可用的系统盘
String[] list() 返回一个字符串数组,给定路径下的文件或目录名称字符串
String[] list(FilenameFilter filter) 返回满足过滤器要求的一个字符串数组
File[] listFiles() 返回一个文件对象数组,给定路径下文件或目录
File[] listFiles(FilenameFilter filter) 返回满足过滤器要求的一个文件对象数组

package com.qunar.bean;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
String pathname = "E:\\Recommended system";
// 创建文件实例
File file = new File(pathname);
// 返回文件或者目录的名称
System.out.println("GetName->"+file.getName());
// 返回路径
System.out.println("GetPath->"+file.getPath());
// 返回文件长度
System.out.println("Length->"+file.length());
// 返回给定路径下的文件和目录字符串数组
String[] files = file.list();
for (String name : files) {
System.out.println("名称:"+name);
}//for
File[] files2 = file.listFiles();
for (File file2 : files2) {
if(file2.isFile()){
System.out.println("文件名称:"+file2.getName());
}//if
else if(file2.isDirectory()){
System.out.println("目录名称:"+file2.getName());
}//else
}//for
// 列出可用的系统盘
File[] files3 = file.listRoots();
for (File file3 : files3) {
System.out.println("文件名称:"+file3.getPath());
}
}
}


运行结果:

GetName->Recommendedsystem
GetPath->E:\Recommendedsystem
Length->16384
名称:540135b87c6d0.csv
名称:5403c3df31780.doc
名称:baidu-salon-38-1.mp3
名称:baidu-salon-38-1.pdf
名称:TextAnalysis.rar
名称:train_data.txt
名称:中文停用词表(比较全面_有1208个停用词).txt
名称:主题提起
名称:协同过滤
名称:天猫推荐算法.mp3
名称:天猫推荐算法.pdf
名称:推荐系统入门.zip
名称:推荐系统实战经验与效果提升之道.pdf

文件名称:540135b87c6d0.csv
文件名称:5403c3df31780.doc
文件名称:baidu-salon-38-1.mp3
文件名称:baidu-salon-38-1.pdf
文件名称:TextAnalysis.rar
文件名称:train_data.txt
文件名称:中文停用词表(比较全面_有1208个停用词).txt
目录名称:主题提起
目录名称:协同过滤
文件名称:天猫推荐算法.mp3
文件名称:天猫推荐算法.pdf
文件名称:推荐系统入门.zip
文件名称:推荐系统实战经验与效果提升之道.pdf

文件名称:C:\
文件名称:D:\
文件名称:E:\
文件名称:F:\
文件名称:G:\
文件名称:H:\

文件过滤例子:
package com.qunar.bean;
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo {
public static void main(String[] args) {
String pathname = "E:\\Recommended system";
// 创建文件实例
File file = new File(pathname);
// 文件过滤
File[] files = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File file, String filename) {
return filename.endsWith(".mp3");
}
});
// 打印输出
for (File file2 : files) {
System.out.println("名称:"+file2.getName());
}//for
}
}

运行结果:

名称:baidu-salon-38-1.mp3
名称:天猫推荐算法.mp3
名称:百度推荐实践.mp3

列出文件夹下的全部问价或目录:
package com.qunar.bean;
import java.io.File;
public class FileDemo {
public static void ListAllFile(File file){
if(!file.exists()){
throw new IllegalArgumentException("目录["+file+"]不存在");
}//if
if(!file.isDirectory()){
throw new IllegalArgumentException("["+file+"]不是目录");
}//if
// 列出指定路径下的全部文件或目录
File[] files = file.listFiles();
for (File fileName : files) {
// 判断是否是目录 如果是递归
if(fileName.isDirectory()){
ListAllFile(fileName);
}//if
// 否则打印输出
else{
System.out.println(fileName.getPath());
}//else
}//for
}
public static void main(String[] args) {
String pathname = "E:\\Recommended system";
// 创建文件实例
File file = new File(pathname);
// 列出全部文件或目录
ListAllFile(file);
}
}

运行结果:


E:\Recommendedsystem\540135b87c6d0.csv
E:\Recommendedsystem\5403c3df31780.doc
E:\Recommendedsystem\baidu-salon-38-1.mp3
E:\Recommendedsystem\baidu-salon-38-1.pdf
E:\Recommendedsystem\TextAnalysis.rar
E:\Recommendedsystem\train_data.txt
E:\Recommendedsystem\中文停用词表(比较全面_有1208个停用词).txt
E:\Recommendedsystem\主题提起\中文新闻关键事件的主题句识别.pdf
E:\Recommendedsystem\主题提起\加入时间因素的个性化信息过滤技术.pdf
E:\Recommendedsystem\主题提起\动态新闻主题信息推荐系统设计.pdf
...
E:\Recommendedsystem\协同过滤\PatternRecognitionAndMachineLearning.pdf
E:\Recommendedsystem\协同过滤\一种改进的Item-based协同过滤推荐算法.pdf
E:\Recommendedsystem\协同过滤\一种电影个性化推荐系统的研究与实现.pdf
E:\Recommendedsystem\协同过滤\个性化搜索引擎中用户协作推荐算法的研究.pdf
E:\Recommendedsystem\协同过滤\个性化新闻推荐引擎中新闻分组聚类技术的研究与实现.caj
E:\Recommendedsystem\协同过滤\协同过滤技术在个性化推荐中的运用.pdf
E:\Recommendedsystem\协同过滤\基于协同过滤的个性化新闻推荐系统的研究与实现.caj
E:\Recommendedsystem\协同过滤\基于矩阵分解的协同过滤算法.pdf
....
E:\Recommendedsystem\天猫推荐算法.mp3
E:\Recommendedsystem\天猫推荐算法.pdf
E:\Recommendedsystem\推荐系统入门.zip
.....







分享到:
评论

相关推荐

    Java基础IO流之File类的使用

    Java基础IO流之File类的使用

    java开发之File类详细使用方法介绍

    主要介绍了java开发之File类详细使用方法介绍,需要的朋友可以参考下

    Java开发详解.zip

    010102_【第1章:JAVA概述及开发环境搭建】_Java开发环境搭建笔记.pdf 010201_【第2章:简单Java程序】_简单Java程序笔记.pdf 010301_【第3章:Java基础程序设计】_Java数据类型笔记.pdf 010302_【第3章:Java基础...

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    Java File类.pptx

    Java File类.pptx

    java开源项目(2)Java File Copy Library

    java开源项目团队开发.解压Java File Copy Library.rar即可

    Java常用工具类大全,工作5年精心整理(最新版)

    提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...

    Java的IO流讲解代码: File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型

    它包含了常见的IO类和方法的使用示例,旨在帮助理解和掌握Java中的输入输出操作。 包含: File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)...

    Java开发技术大全 电子版

    Java开发技术大全 电子版 第1篇Java基础知识入门. 第1章Java的开发运行环境2 1.1Java的运行环境与虚拟机2 1.2Java的开发环境4 1.2.1JDK的安装4 1.2.2如何设置系统环境变量6 1.2.3编译命令的使用8 1.2.4解释...

    java基础类库开发包,工作5年精心整理_Java常用工具类源码

    工作5年精心整理_Java常用工具类源码 收集了java项目开中常用的工具操作类,方法非常全,可应用在大部份java 项目中。 提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档...

    Java Stream、File、IO.pdf

    Java Stream 是 Java 8 中引入的一种新的抽象数据类型,它允许开发人员使用函数式编程的方式来处理集合数据。 使用 Java Stream 可以方便地进行过滤、映射、排序和聚合等操作。下面是一个简单的示例: 该示例将一个...

    阿里java开发手册1.4.0

    免费下载地址: https://102.alibaba.com/downloadFile.do?file=1528269849853/Java_manual.pdf

    Java下模仿实现C#.NET里面的File类。

    最近用Java开发了一些项目,真心感觉Java的文件流真的没有C#.NET好用(说实话,我觉得Java就是没有C#好用)。所以,我用Java模仿了一下.NET里面的File类。

    java中IO流里面的关于File的讲解源码

    File关于IO流的源码,详细的讲解也有,很多的注释,适合初学者,本人也是初学者,慢慢学

    java基础案例与开发详解案例源码全

    13.1 java.io.File类328 13.1.1 文件和目录是什么?328 13.1.2 Java对文件和目录的操作328 13.2 JavaIO原理332 13.3 流类结构333 13.3.1 InputStream和OutputStream333 13.3.2 Reader和Writer334 13.4 文件流336 ...

    Java2实用教程.rar

    10 1File类 10 2FileInputStream类 10 3FileOutputStream类 10 4FileReader类和FileWriter类 10 5使用文件对话框打开和保存文件 10 6RandornAccessFile类 10 7数据流 10 8数组流 10 9对象流 10 10序列化与对象克隆 ...

    java程序设计初识

    java程序设计初识,介绍了Java的基础知识

    java 常用类

    java 开发过程中常用的类,csv,xml,jxl 读写,DateUtil,File,DBUtil

    疯狂JAVA讲义

    9.6.5 使用类文件代替资源文件 350 9.6.6 使用NumberFormat格式化数字 350 9.6.7 使用DateFormat格式化日期 352 9.7 本章小结 355 本章练习 355 第10章 异常处理 356 10.1 异常概述 357 10.2 异常处理机制 ...

Global site tag (gtag.js) - Google Analytics