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:\Recommended system
   E:\Recommended system\train_data.txt
   E:\Recommended system\train_data.txt
   E:\Recommended system



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







[Java开发之路](6)File类的使用的更多相关文章

  1. JAVA IO分析一:File类、字节流、字符流、字节字符转换流

    因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...

  2. Java IO流中的File类学习总结

    一.File类概述 File类位于java.io包中,是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹. File类有多种重载的构造方法.File类保存文件或目录的各种 ...

  3. java学习笔记IO之File类

    File类总结 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times } p.p2 { margin: 0.0px 0.0px 0.0p ...

  4. -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流

      File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...

  5. java基础——IO流之File类

    1.File类的构造方法: File(String  pathName):通过一个指定的字符串类型路径来创建一个文件对象 File  (String parent,String child):通过指定 ...

  6. Java学习笔记36(File类)

    File类可以对操作系统中的文件进行操作: File类的静态成员变量: package demo; import java.io.File; public class FileDemo { publi ...

  7. java学习笔记27(File类)

    File类: 定义:文件和目录径的抽象表示形式, Java中将路径或者文件封装成File对象 1.File类的静态成员变量 package com.zs.Demo2; import java.io.F ...

  8. Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...

  9. 我的Java开发学习之旅------>工具类:将播放器的进度值转换成相应的时间格式

    在我的博客<我的Java开发学习之旅------>Java 格式化类(java.util.Formatter)基本用法,地址:http://blog.csdn.net/ouyang_pen ...

  10. Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)

    1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...

随机推荐

  1. Ubuntu PPA 使用指南

    作者: Abhishek Prakash 译者: LCTT jlztan | 2019-01-19 11:02 一篇涵盖了在 Ubuntu 和其他 Linux 发行版中使用 PPA 的几乎所有问题的深 ...

  2. 原生ajax实现文件上传

    视图层 JS 函数:    <input type="file" onchange="sendFile()" id="up" /> ...

  3. 一线 | 中国联通宣布首批5G手机到位

    腾讯<一线> 作者郭晓峰 据中国联通相关人士今日透露,中国联通用于 5G 友好体验的首批合作 5G 手机全部到位.有 12 个品牌共 15 款 5G 手机及 5G CPE,包括.华为. O ...

  4. syn攻击原理与防护措施

    何为syn攻击? 先普及下tcp3次握手的知识,在TCP/IP中,tcp协议提供可靠的socket连接服务,通过3次握手建立可靠连接. tcp3次握手过程: 第一阶段:某终端向服务器发送syn(syn ...

  5. 关于 Error: No PostCSS Config found in 的错误

    问题描述: 项目在本地运行不报错,上传到 GitHub 之后,再 clone 到本地, npm install 安装完成之后再执行 npm run dev 这时报错 Error: No PostCSS ...

  6. numpy基础篇-简单入门教程4

    np.set_printoptions(precision=3),只显示小数点后三位 np.random.seed(100) rand_arr = np.random.random([2, 2]) n ...

  7. caioj 1153 扩展欧几里德算法(解不定方程)

    模板题 注意exgcd函数要稍微记一下 #include<cstdio> #include<cctype> #include<algorithm> #define ...

  8. C实现头插法和尾插法来构建单链表(带头结点)

    我在之前一篇博客<C实现头插法和尾插法来构建单链表(不带头结点)>中具体实现了怎样使用头插法和尾插法来建立一个不带头结点的单链表,可是在实际使用中.我们用的最多的还是带头结点的单链表.今天 ...

  9. hadoop学习;datajoin;chain签名;combine()

    hadoop有种简化机制来管理job和control的非线性作业之间的依赖.job对象时mapreduce的表现形式.job对象的实例化可通过传递一个jobconf对象到作业的构造函数中来实现. x. ...

  10. Swift环境下实现UILabel居上 居中 居下对齐

    首先在Xcode中新建.h文件,将下面代码复制进去 // // myUILabel.h // // // Created by yexiaozi_007 on 3/4/13. // Copyright ...