第20天-01-IO流(File概述)

File类:

  1. 用来将文件或者文件夹封装成对象, 方便进行操作.

  2. File对象可以作为参数, 传递给流对象的构造函数.

  3. 流对象不能操作文件夹; 流对象不能操作文件的属性信息(rwx等), 只能操作文件的数据.

构造方法:

File(File parent, String child)   Creates a new File instance from a parent abstract pathname and a child pathname string.

File(String pathname)   Creates a new File instance by converting the given pathname string into an abstract pathname.

File(String parent, String child)   Creates a new File instance from a parent pathname string and a child pathname string.

package bxd;

import java.io.File;

public class FileDemo {

    public static void consMethod() {
// 将a.txt封装成File对象, 可以将已存在的或者还未创建的"文件或文件夹"封装成对象.
File file1 = new File("a.txt");
File file2 = new File("/Users/Eric/Documents/IdeaProjects/Servlet_JSP/JDBCDemo/b.txt");
String parent = "/Users/Eric/Documents/IdeaProjects/Servlet_JSP/JDBCDemo";
File file3 = new File(parent, "c.txt"); /* static String separator
The system-dependent default name-separator character, represented as a string for convenience.
*/
File file4 = new File(File.separator + "abc" + File.separator + "xyz.txt"); // 会以字符串形式打印出创建File对象时传入的参数,不会改变.
sop("file1: " + file1);
sop("file2: " + file2);
sop("file3: " + file3);
sop("file4: " + file4);
} public static void main(String[] args) {
consMethod();
} public static void sop(Object object) {
System.out.println(object);
}
}

第20天-02-IO流(File对象功能-创建与删除)

boolean createNewFile()

  Atomically creates a new, empty file named by this abstract pathname if and only if a file with this name does not yet exist.

boolean mkdir()

  Creates the directory named by this abstract pathname.

boolean mkdirs()

  Creates the directory named by this abstract pathname, including any necessary but nonexistent parent directories.

static File createTempFile(String prefix, String suffix)

  Creates an empty file in the default temporary-file directory, using the given prefix and suffix to generate its name.

static File createTempFile(String prefix, String suffix, File directory)

  Creates a new empty file in the specified directory, using the given prefix and suffix strings to generate its name.

boolean delete()

  Deletes the file or directory denoted by this abstract pathname.

void deleteOnExit()

  Requests that the file or directory denoted by this abstract pathname be deleted when the virtual machine terminates.

package bxd;

import java.io.File;
import java.io.IOException; /*
File类常见方法:
1. 创建
boolean createNewFile() 在指定位置创建文件. 如果创建成功则返回true; 如果创建失败或文件已经存在则返回false; 相比较, new一个输出流对象会马上创建文件, 且遇到文件已存在时会覆盖源文件.
boolean mkdir() 创建指定的目录, 已存在则返回false
boolean mkdirs() 创建指定的目录, 包括所有所需但不存在的父目录, 已存在则返回false
2. 删除
boolean delete() 删除失败则返回false.
void deleteOnExit() 文件有可能正被程序访问而无法删除, 此时可以将文件设置为程序退出时删除.
*/
public class FileDemo1 { public static void method_1() throws IOException {
File file = new File("file.txt");
sop("create file.txt: " + file.createNewFile());
} public static void method_2() throws IOException {
File dir = new File("dir_abc");
dir.mkdir();
} public static void method_3() {
File file = new File("file.txt");
sop("delete file.txt: " + file.delete());
} public static void main(String[] args) throws IOException {
method_2();
} public static void sop(Object object) {
System.out.println(object);
}
}

第20天-03-IO流(File对象功能-判断)

boolean canExecute()   Tests whether the application can execute the file denoted by this abstract pathname.

boolean canRead()   Tests whether the application can read the file denoted by this abstract pathname.

boolean canWrite()   Tests whether the application can modify the file denoted by this abstract pathname.

boolean exists()     Tests whether the file or directory denoted by this abstract pathname exists.

boolean isDirectory()   Tests whether the file denoted by this abstract pathname is a directory.

boolean isFile()     Tests whether the file denoted by this abstract pathname is a normal file.

boolean isHidden()   Tests whether the file named by this abstract pathname is a hidden file.

boolean isAbsolute()   Tests whether this abstract pathname is absolute.

package bxd;

import java.io.File;
import java.io.IOException; /*
File类常见方法:
3. 判断
boolean exists() 判断文件/文件夹是否存在
boolean canExecute() 判断文件是否可执行, 如果文件不存在也返回false
boolean isFile()
boolean isDirectory 判断File对象是否是文件/目录, 如果不存在也返回false
所以判断时要注意区分: 是/否/不存在 boolean isAbsolute() 判断File对象所对应的pathname是否是绝对路径(与文件/文件夹是否存在无关)
*/
public class FileDemo2 { public static void method_1() throws IOException {
File file = new File("file.txt");
sop("file.txt exists: " + file.exists());
sop("file.txt canExcute: " + file.canExecute());
} public static void method_2() {
File file = new File("file.txt");
sop("file.txt isFile: " + file.isFile());
sop("file.txt isDirectory: " + file.isDirectory());
} public static void main(String[] args) throws IOException {
method_2();
} public static void sop(Object object) {
System.out.println(object);
}
}

第20天-04-IO流(File对象功能-获取)

String getName()  Returns the name of the file or directory denoted by this abstract pathname.

String getPath()  Converts this abstract pathname into a pathname string.

String getAbsolutePath()  Returns the absolute pathname string of this abstract pathname.

String getParent()  Returns the pathname string of this abstract pathname's parent, or null if this pathname does not name a parent directory.

long lastModified()  Returns the time that the file denoted by this abstract pathname was last modified.

long length()  Returns the length of the file denoted by this abstract pathname.

boolean renameTo(File dest)  Renames the file denoted by this abstract pathname.

package bxd;

import java.io.File;
import java.io.IOException; /*
File类常见方法:
4. 获取信息
String getName()
String getPath() 构造File时传入什么路径参数, 就返回该路径参数(种瓜得瓜)
String getAbsolutePath() 无论构造File时传入什么参数, 都返回对应的绝对路径参数.
String getParent() 如果构建File对象时传入的参数不包含父目录, 那么返回null
Returns the pathname string of this abstract pathname's parent, or null if this pathname does not name a parent directory.
long lastModified()
long length()
boolean renameTo(File dest)
*/
public class FileDemo3 {
public static void method_1() {
File file = new File("file.txt");
sop("Path: " + file.getPath());
sop("abs Path: " + file.getAbsolutePath());
sop("parent: " + file.getParent());
} public static void method_2() {
File f1 = new File("f1.txt");
File f2 = new File("f2.txt");
// 将f1文件对象移动至f2, 看上去就像重命名
sop("rename: " + f1.renameTo(f2));
} public static void main(String[] args) throws IOException {
method_2();
} public static void sop(Object object) {
System.out.println(object);
}
}

毕向东_Java基础视频教程第20天_IO流(1~4)的更多相关文章

  1. 毕向东_Java基础视频教程第20天_IO流(7~10)

    第20天-07-IO流(递归) package bxd; import java.io.File; public class FileDemo3 { // 非递归打印 public static vo ...

  2. 毕向东_Java基础视频教程第20天_IO流(15~17)

    第20天-15-IO流(打印输出流) 打印输出流:PrintWriter与PrintStream 两者的区别:Since JDK 1.4 it's possible to specify the ch ...

  3. 毕向东_Java基础视频教程第20天_IO流(11~14)

    第20天-11-IO流(Properties简述) .properties是一种主要在Java相关技术中用来存储应用程序的可配置参数的文件的文件扩展名.它们也可以存储用于国际化和本地化的字符串,这种文 ...

  4. 毕向东_Java基础视频教程第20天_IO流(5~6)

    第20天-05-IO流(文件列表一) static File[] listRoots() List the available filesystem roots. String[] list() Re ...

  5. 毕向东_Java基础视频教程第19天_IO流(20~22)

    第19天-20-IO流(改变标准输入输出设备) static void setIn(InputStream in) Reassigns the "standard" input s ...

  6. 毕向东_Java基础视频教程第19天_IO流(01~05)

    第19天-01-IO流(BufferedWriter) 字符流的缓冲区 缓冲区的出现提高了对数据的读写效率. 对应类缓冲区要结合流才可以使用. BufferedWriter BufferedReade ...

  7. 毕向东_Java基础视频教程第19天_IO流(06~10)

    第19天-06-IO流(装饰设计模式) 装饰设计模式: 当想要对已有的对象进行功能增强时, 可以定义类,将已有对象传入,基于已有的功能,并提供加强功能.那么这个自定义的类称为装饰类. 装饰类通常会通过 ...

  8. 毕向东_Java基础视频教程第19天_IO流(11~14)

    第19天-11-IO流(字节流File读写操作) import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...

  9. 毕向东_Java基础视频教程第21天_IO流(1)

    第21天-01-IO流(对象的序列化) ObjectInputStream与ObjectOutputStream 被操作的对象需要实现Serializable接口(标记接口) 非必须, 但强烈建议所有 ...

随机推荐

  1. Mono For Android中完美使用百度地图SDK(v2.1.2&v2.1.3)(转)

    在Xamarin Mono For Android的开发中,如果要使用第三方的jar,就必须进行绑定.通过创建Java Bindings Library项目来自动生成C#到java的代码映射代码,最终 ...

  2. css中奇怪的地方

    1.border-color      继承内部元素前景色(color:black.可能对元素本身没有效果) 2.border-style:none;//不仅样式没了,border-width也变为0 ...

  3. WPF中使用TextBlock的Inlines属性来完成复杂的文字内容

    参考:http://blog.csdn.net/zhangjiyehandsom/article/details/5498845 1. 需求:要在一行内容中显示不同颜色以及粗细不一的字体, 解决办法: ...

  4. 微信授权获取code(微信支付)

    摘要:最近在做h5支付,然后发现一个问题,微信自带浏览器不支持h5支付,然后后台又做了一个微信支付的接口,然后要传code参数,代码写好总结后,就发到这里记录一下: 因为有两个支付接口,所以首先判断打 ...

  5. CUBA-Platform将全面助力中国开发者

    关注CUBA的伙伴们,你们好! 今天我们有新的进展告诉大家. 九月十五日到十六日CUBA平台事业部负责人(同时也是Haulmont公司合伙人)专程来到中国与CUBA中国团队进行了两天时间的交流.讨论. ...

  6. i.mx6 Android5.1.1 初始化流程之init.rc解析(未完成)

    接上一篇:i.mx6 Android5.1.1 初始化流程之init进程 参考资料:http://blog.csdn.net/mr_raptor/article/category/799879 这个博 ...

  7. Thread中断线程的方法

    转载:https://www.cnblogs.com/l2rf/p/5566895.html 线程对象属于一次性消耗品,一般线程执行完run方法之后,线程就正常结束了,线程结束之后就报废了,不能再次s ...

  8. Web开发者的福利 30段超实用CSS代码

    1.花式连字符(&) 这个类应该在span元素里使用,并且里面包括&字符.它使用经典的serif字体和斜体来增强&符号. .amp { font-family: Baskerv ...

  9. Excel的vlookup函数的用法

    VLOOKUP函数用于搜索指定区域内首列满足条件的元素,确定待检测单元格在区域中的行序号,再进一步返回选定单元格的值. 为了讲解的需要,特制作如图所示的表格.当然,大家也可以根据自己的实际情况设计合适 ...

  10. echarts 添加标线,设置颜色

    <script src="assets/js/jquery-1.8.3.min.js"></script> <!--echart图表引入js--> ...