一,初识文件流

看到标题就知道接下来的所有操作对象都是面对文件进行的。那么问题来了。在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】文件操作(初识文件操作一)的更多相关文章

  1. 孤荷凌寒自学python第三十三天python的文件操作初识

     孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...

  2. Unix/Linux环境C编程入门教程(40) 初识文件操作

     1.函数介绍 close(关闭文件) 相关函数 open,fcntl,shutdown,unlink,fclose 表头文件 #include<unistd.h> 定义函数 int ...

  3. C语言中file文件指针概念及其操作 (转载)

    文件 文件的基本概念 所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件. ...

  4. Java File文件操作 创建文件\目录,删除文件\目录

    Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...

  5. 19-3-8Python中编码的进阶、文件操作初识、深浅copy

    编码的进阶 ASCII:英文字母,数字,特殊符号,——>  二进制的对应关系 Str: 1个字符——> 1个字节 Unicode:万国码:世界上所有的文字与二进制的对应关系 1个字符——& ...

  6. Unix/Linux环境C编程新手教程(40) 初识文件操作

     1.函数介绍 close(关闭文件) 相关函数 open,fcntl,shutdown.unlink,fclose 表头文件 #include<unistd.h> 定义函数 int ...

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

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

  8. UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)

    前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...

  9. 文件IO操作..修改文件的只读属性

    文件的IO操作..很多同行的IO工具类都是直接写..但是如果文件有只读属性的话..则会写入失败..所以附加了一个只读的判断和修改.. 代码如下: /// <summary> /// 创建文 ...

随机推荐

  1. C 碎片一 计算机知识

    一.计算机知识 1, 计算机组成及工作原理 计算机是硬件和软件的结合体.硬件由主机箱和外部设备组成,主机主要包括CPU.内存.主板.硬盘.光驱.各种扩展卡.连接线.电源等:外部设备包括鼠标.键盘等.软 ...

  2. thinkphp实现简易签到

    老司机们,没时间了,直接贴代码: 视图: <!DOCTYPE html><html><meta charset="utf-8" /><ti ...

  3. nvcc 编译显示寄存器使用情况

    NVCC Compiler 里面增加 Command line pattern中${COMMAND}后 增加选项: --ptxas-options=-v

  4. ArcSDE空间数据库中SDE用户使用探讨 (转载)

    ArcSDE作为空间数据库解决方案,应用非常广泛,本短文将尝试描述SDE的工作机制,简要说明空间数据库中SDE用户的使用方法.ArcSDE如何工作ArcSDE属于中间件技术,其本身并不能够存储空间数据 ...

  5. safenet 超级狗 加密狗

    1.CS程序可以工作正常: 2.BS程序,服务器验证狗,IIS设置32位兼容方法1: dog.SetLibPath,设置查找依赖dll路径: 方法2:默认系统目录 C:\Windows\SysWOW6 ...

  6. ArcGIS10.1的安装问题

    注:必须用3个带0的文件夹里面的东西安装 1.先装Pre-release_license_manager   ,然后停掉. 2.然后安装0Desktop/ArcGIS_Desktop, 3.打开0Ke ...

  7. mustache.js 数组循环的索引

    在使用mustache作为模板引擎时,想要利用数组中的对象的索引排序,却发现mustache中无法获得数组索引,在一番搜索之后,发现在数组的对象中加入索引,就可以了,示例如下 /html {{#dat ...

  8. git版本管理工具 标签(Tag) / 版本回退 / 分支的简单使用

    a.标签 标签,可以使用这个功能来标记发布结点. 举个例子, 假如我们的项目版本目前是1.2版本, 上级要求这个版本要在半个月后再进行上传至Appstore, 并要求我们未来的半个月内,去写1.3版本 ...

  9. EF和linq语句查询条件不等于某个参数出现的问题

    where t.a!=字符串   这是错误的写法,正确为 where t.a!=字符串.trim() 其他类型变量需要保持实体类型和查询条件参数的类型是一致的,不然出现的语句可能会是 类似`Exten ...

  10. python_19_编码解码

    msg="我爱北京天安门" #字符串转成Byte类型 print(msg.encode())#encode 编码 print(msg.encode(encoding="u ...