一,初识文件流

看到标题就知道接下来的所有操作对象都是面对文件进行的。那么问题来了。在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. linux解压与参数介绍

    linux下 各种解压文件使用方法:https://www.jianshu.com/p/ca41f32420d6 解压参数详解:http://www.cnblogs.com/jyaray/archiv ...

  2. java 基础 04 循环结构 一维数组

    内容: (1)循环结构 (2)一维数组 1.循环结构 1.1for循环 (1)语法格式 for(初始化表达式1;条件表达式2;修改初始化表达式3){ 循环体; } (2)执行流程 执行初始化表达式 = ...

  3. spring mvc 文件下载 get请求解决中文乱码问题

    方案简写,自己或有些基础的可以看懂,因为没时间写的那么详细 方案1 spring mvc解决get请求中文乱码问题, 在tamcat中server.xml文件 URIEncoding="UT ...

  4. Filter过滤器,xml配置与页面不乱码整理

    1.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...

  5. 构建第一个Spring Boot2.0应用之集成mybatis、Druid(七)

    一.环境: IDE:IntelliJ IDEA 2017.1.1 JDK:1.8.0_161 Maven:3.3.9 springboot:2.0.2.RELEASE 二.说明:      本文综合之 ...

  6. World Wind Java开发之十五——加载三维模型(转)

    之前的一篇博客是关于加载粗三维模型的,见http://blog.csdn.net/giser_whu/article/details/43452703,这个地方还存在着不能加载纹理的问题,一直没呢解决 ...

  7. POJ - 3685 Matrix

    二分kth,答案满足的条件为:m ≤ 小于等于x的值数cntx.x和cntx单调不减,随着x增大,条件成立可表示为:0001111. 本地打一个小型的表可以发现列编号j固定时候,目标函数f(i,j)似 ...

  8. 动态规划专题(三)——数位DP

    前言 数位\(DP\) 真的是最恶心的\(DP\). 简介 看到那种给你两个数,让你求这两个数之间符合条件的数的个数,且这两个数非常大,这样的题目一般就是 数位\(DP\) 题. 数位\(DP\)一般 ...

  9. js 实现纯前端将数据导出excel两种方式,亲测有效

    由于项目需要,需要在不调用后台接口的情况下,将json数据导出到excel表格,兼容chrome没问题,其他还没有测试过 通过将json遍历进行字符串拼接,将字符串输出到csv文件,输出的文件不会再是 ...

  10. python_45_目录编程

    #获取当前目录 import os print(os.getcwd()) #获取目录内容 import os print(os.listdir('C:\\Python27')) #创建目录 impor ...