【File】文件操作(初识文件操作一)
一,初识文件流
看到标题就知道接下来的所有操作对象都是面对文件进行的。那么问题来了。在java中目录是不是也属于文件呢?答案是yes。既然目录也属于文件,那么对于目录跟文件的区分就显现出来了。在接下来的操作中也包含了这部分的内容。方便于我们更好的区分对于文件以及目录分别应该采取什么样的对应方法。
另外我今天也是第一次接触java中的文件流,我把我自己的上课笔记以及小案例传上来,希望大家一起来进行探讨。
二,通过File类创建一个文件
1. 创建CreatNewFiles方法
注释:
(1)通过File类中的方法来对文件进行增删改查的操作。先new File类这个实体。
(2).exists()是File类中的一个方法,来判断文件是否存在
(3).createNewFile()为File类中的一个方法。来创建新文件。
package Test; import java.io.File;
import java.io.IOException; /**
* 创建新文件
*
* @param string
* @throws IOException
*/
public class CreatNewFiles { public static void creatNewFile(String string) throws IOException {
File file = new File(string); if (file.exists()) // 判断文件是否存在
return; if (file.createNewFile()) // 创建新文件
System.out.println("文件创建成功!");
else {
System.out.println("文件创建失败!");
}
}
}
2. 测试类
注释:
(1)实例化CreatNewFiles这个类
(2)直接调用.creatNewFile方法()中指定创建路径以及创建文件的文件名
(3)创建出来的文件为空文件
package Test;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) throws IOException {
CreatNewFiles creat = new CreatNewFiles();
creat.creatNewFile("C:/Users/IBM_ADMIN/Desktop/test.txt");
}
}
结果:

三,通过File类删除一个文件
1. 创建deleteFile文件方法
注释:.delete()为删除一个文件
package Test;
import java.io.File;
public class DeleteFiles {
public static void deleteFile(String string) {
File file = new File(string);
if (file.delete()) {
System.out.println("文件已经被删除!");
} else {
System.out.println("文件无法被删除!");
}
}
}
2. 测试类
package Test;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) throws IOException {
DeleteFiles del = new DeleteFiles();
del.deleteFile("C:/Users/IBM_ADMIN/Desktop/test.txt");
}
}
结果:
文件被删除!!

四,通过Properties类来对文件添加内容
对文件的编辑方法应该有很多,不过我目前只学了通过Properties类来对文件进行编写。因此这里只针对Properties类中的方法进行展开。
1. .setProperty为Properties类中的一个方法。Properties内部是一个HashMap,因此是以键值对的方式进行入力的。也就是说一般在使用Properties类来对文件进行编译的时候,通常是对于配置文件之类的文件进行编译时比较适用。注释:
(1)Properties prop = new Properties();为实例化Properties这个类
(2)prop.setProperty("UserName", "tony");通过键值对的方式进行文件内容的输入
(3)prop.store(new FileOutputStream("C:/Users/IBM_ADMIN/Desktop/test.txt"), "add key and value"); 通过.store方法以及new FileOutputStream方法连用来对文件进行导出。把入力的内容重写到output后的文件中。另外 Properties类中有很多方法,建议可以查看API,这里就不一一对其中的方法进行列举了。也可以对文件的属性进行查看输出等。
package Test; import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties; public class FileTest { public static void main(String[] args) throws IOException { /*
* CreatNewFiles creat = new CreatNewFiles();
* creat.creatNewFile("C:/Users/IBM_ADMIN/Desktop/test.txt");
*/ Properties prop = new Properties();
// .setProperty是通过HashMap键值对的方式进行入力.
prop.setProperty("UserName", "tony");
prop.setProperty("UserPassword", "tony@123");
prop.setProperty("UserGroup", "Administrators"); System.out.println(prop);// 这里只是打印入力后的内容.但是并没有把内容输入到test.txt文本中. // 通过.store方法结合 new FileOutputStream来指定要输出的文件位置,后面为comments.可以理解为注释
prop.store(new FileOutputStream("C:/Users/IBM_ADMIN/Desktop/test.txt"),
"add key and value");
System.out.println(prop);
} }
五,通过Properties类来删除内容
注释:
(1)实例化Properties这个类
(2)实例化File这个类,并指定导入文件的绝对路径
(3).load(new FileInputStream(变量)) 通过.load以及 FileInputStream方法来加载文件中的内容。
(4).remove(“ key”).remove括号中跟的是载入文件键值对中的key.通过删除key的方式一并删除对应的value。
(5).clear() 是指清空文件中的所有内容
package Test; import java.io.File;
import java.io.FileInputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Properties; public class FileTest { public static void main(String[] args) throws IOException { Properties prop = new Properties();
File result = new File("C:/Users/IBM_ADMIN/Desktop/test.txt"); // 通过实例化File类已及通过properties类中的.load方法加载文件 prop.load(new FileInputStream(result)); // FileInputStream()为加载方法
System.out.println(prop);
prop.remove("UserPassword"); // .remove()指定要删除的key,删除该key以及对应的value内容
System.out.println(prop);
prop.clear(); // .clear()是清空文件所有内容
System.out.println(prop);
}
}
结果:
第一行:.load()过来的文件初始内容
第二行:.remove()删除指定key后的结果
第三行:.clear() 后的文件内容

六,通过Properties类来显示文件属性
注释:
(1)实例化Properties,File这2个类。指定文件路径
(2)通过if语句先判断是否指定的为文件. (通过.isFile()方法)
(3)自定义一个showFileInfo()方法方便调用
(4)showFileInfo中的语句都是直接调用FIle类中的方法。(每个方法的具体注释请参考代码段注释)
(5)showFileinfo(file)直接调用自定义好的showFileInfo
package Test; import java.io.File;
import java.util.Date;
import java.util.Properties; public class FileTest { public static void main(String[] args) { Properties prop = new Properties(); File file = new File("C:/Users/IBM_ADMIN/Desktop/test.txt"); // 判断指定内容是否为文件
if (file.isFile()) {
System.out.println(file + "是一个文件");
} else {
System.out.println("文件没有找到!");
}
System.out.println();
showFileInfo(file); } public static void showFileInfo(File file) {
System.out.println("文件名为:" + file.getName());
System.out.println("文件路经:" + file.getPath()); // 查找文件相对路经
// System.out.println(file.getAbsolutePath()); //查找文件绝对路经
System.out.println("文件所在目录为:" + file.getParent()); // 显示文件所属上级目录
System.out.println("文件最后修改时间:" + new Date(file.lastModified()));
System.out.println("文件大小:" + file.length());
System.out.println("是否可读:" + file.canRead());
System.out.println("是否可写:" + file.canWrite());
System.out.println("是否是隐藏文件:" + file.isHidden()); } }

结果:
C:\Users\IBM_ADMIN\Desktop\test.txt是一个文件
文件名为:test.txt
文件路经:C:\Users\IBM_ADMIN\Desktop\test.txt
文件所在目录为:C:\Users\IBM_ADMIN\Desktop
文件最后修改时间:Tue Feb 14 09:20:18 CST 2017
文件大小:115
是否可读:true
是否可写:true
是否是隐藏文件:false
以上是Properties于File类中比较常用的几种方法。当然不止仅仅有这些方法,更多的用法请查看相关的API,可以更好更灵活的对文件进行简易操作。
另外说了文件自然就会有文件夹也就是目录相关的用法。会在下一篇中提到。
谢谢大家的阅览。请多提意见,也可以多关注一下。谢谢。


【File】文件操作(初识文件操作一)的更多相关文章
- 孤荷凌寒自学python第三十三天python的文件操作初识
孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...
- Unix/Linux环境C编程入门教程(40) 初识文件操作
1.函数介绍 close(关闭文件) 相关函数 open,fcntl,shutdown,unlink,fclose 表头文件 #include<unistd.h> 定义函数 int ...
- C语言中file文件指针概念及其操作 (转载)
文件 文件的基本概念 所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件. ...
- Java File文件操作 创建文件\目录,删除文件\目录
Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...
- 19-3-8Python中编码的进阶、文件操作初识、深浅copy
编码的进阶 ASCII:英文字母,数字,特殊符号,——> 二进制的对应关系 Str: 1个字符——> 1个字节 Unicode:万国码:世界上所有的文字与二进制的对应关系 1个字符——& ...
- Unix/Linux环境C编程新手教程(40) 初识文件操作
1.函数介绍 close(关闭文件) 相关函数 open,fcntl,shutdown.unlink,fclose 表头文件 #include<unistd.h> 定义函数 int ...
- Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...
- UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)
前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...
- 文件IO操作..修改文件的只读属性
文件的IO操作..很多同行的IO工具类都是直接写..但是如果文件有只读属性的话..则会写入失败..所以附加了一个只读的判断和修改.. 代码如下: /// <summary> /// 创建文 ...
随机推荐
- JavaFX上手--第1天
1.第一个JavaFX Application JavaFX 使用Java来制作可视化图形,可以做动画和3D效果,JavaFX从JDK中直接使用. package application; impor ...
- Java hibernate 遇到的问题:could not read a hi value
问题: 解决办法:在网上看到一篇文章说是把数据库实体类的注解@GeneratedValue改成@GeneratedValue(strategy = GenerationType.IDENTITY) , ...
- 八个cmd 命令
一,ping 它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP ...
- MySQL计算日期的函数DATE_SUB(d,INTERVAL expr type)
MySQL计算日期的函数DATE_SUB(d,INTERVAL expr type) DATE_SUB(d,INTERVAL expr type)函数返回起始日期d减去一个时间段后的日期. expr是 ...
- Hyper-V 2016 配置管理系列(准备篇)
2.1 推荐软硬件配置 2.2 Hyper主机前提准备 前提条件: 具有二级地址转换(SLAT)的64位处理器.要安装Hyper-V虚拟化组件(如Windows管理程序),处理器必须具有SLAT 足够 ...
- windows剪切板暂存
其实最初是因为在项目中使用了html网页编辑器,通过ie的com组件和javascript通讯完成一些事情,其中有一个功能是插入表格,我们原本使用的range.pasteHTML(HTMLstr);根 ...
- hdu-2256 Problem of Precision---矩阵快速幂+数学技巧
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2256 题目大意: 题目要求的是(sqrt(2)+sqrt(3))^2n %1024向下取整的值 解题 ...
- java编程基础——从上往下打印二叉树
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 题目代码 /** * 从上往下打印出二叉树的每个节点,同层节点从左至右打印. * Created by YuKai Fan on 20 ...
- Oracle Analyze
Analyze使用场景 之前很多次都说到,对表的索引等信息进行了增删改之后,需要对表进行analyze更新统计信息,才能使数据库做出最好的执行计划,没有注意到,即使是一张很小的空表,如果进行了字段的增 ...
- js display, visible 区别
注意: display:none和visible:hidden都能把网页上某个元素隐藏起来,在视觉效果上没有区别,但是在一些DOM操作中两者有区别: display:none ---不为被隐藏的对象保 ...