File类

JavaIO访问文件名和文件检测相关操作

分隔符最好是使用File类提供的File.separator,使程序更加的健壮。

File类提供的方法基本上是见名知意,例如getName()就是获取文件名、isFile()判断是不是一个文件。

public class FileTest {

    public static void main(String[] args) throws IOException {
System.out.println(File.separator + " " + File.pathSeparator);
String fileName = "E:" + File.separator + "fileTest.txt";
File f1 = new File(fileName);
f1.createNewFile();
System.out.println(f1.getName());
System.out.println(f1.getPath());
System.out.println(f1.exists());
System.out.println(f1.canRead() + " " + f1.canExecute() + " " + f1.canWrite()) ;
System.out.println(f1.isFile() + " " + f1.isDirectory() + " " + f1.isHidden());
System.out.println(f1.lastModified() + "");//返回最后修改时间
System.out.println(f1.length());//返回文件内容的长度
f1.delete();
System.out.println(f1.exists()); } }
【演示结果】文件里的内容为JavaIO

\ ;
fileTest.txt
E:\fileTest.txt
true
true true true
true false false14274570315046false
2.目录操作的相关方法
mkdir()试图创建一个File对象所对应的目录,如果创建成功返回true,否则返回false,list()列出所有子文件名和路径名,返回String[]
listFiles()列出File对应的子文件名和路径名,返回File[]
ublic class TraverseFile {

    public static void main(String[] args) {
String fileName = "F:"+File.separator+"test";
File f = new File(fileName);
printFile(f);
//f.mkdir(); } public static void printFile(File f) {
if(f.exists() && f.isDirectory()) {
File[] ff = f.listFiles();
if(ff != null) {
for(File fff : ff) {
printFile(fff);
}
}
if(f != null)
System.out.println(f.getPath());
}
}
}

JavaIO流

输入流:只能从中读取数据,而不能写入数据。

输出流:只能写入数据,而不能读取数据。

这里的输入输出是以Java程序所在内存的角度来说的。

字节流和字符流:字节流和字符流的用法是一样的,区别在于字节流和字符流所操作的数据单元不同——字节流操作的是8位的字节,字符流

操作的是16位的字符。字节流主要由InputStream和OutputStream作为基类,而字符流则主要由Reader和Writer作为基类。

节点流和处理流:节点流来从特定的数据源读写数据。节点流是低级流。处理流用来包装节点流,处理流为高级流 。

处理流的功能主要体现在:

1.以增加缓冲的方式来提高IO效率。         2.处理流可以方便的一次输入/输出大批数据。

通常如果输入/输出的是文本内容使用字符流,输入/输出的是二进制内容使用字节流。

 

JavaIO再回顾的更多相关文章

  1. 最近准备把安卓和java的知识再回顾一遍,顺便会写博客上!千变万化还都是源于基础,打扎实基础

    最近准备把安卓和java的知识再回顾一遍,顺便会写博客上!千变万化还都是源于基础,打扎实基础,加油吧 距离去北京还有23天

  2. Linux知识再回顾

    Linux再回顾 下面是自己之前centos7的笔记总结第二篇,第一篇是19年就写过了一些,记住Linux中一切皆文件. 这里提下,使用xshell+xftp来使用云服务器是很不错的,强烈建议小伙伴这 ...

  3. Scalaz(40)- Free :versioned up,再回顾

    在上一篇讨论里我在设计示范例子时遇到了一些麻烦.由于Free Monad可能是一种主流的FP编程规范,所以在进入实质编程之前必须把所有东西都搞清楚.前面遇到的问题主要与scalaz Free的Free ...

  4. python学习日记(编码再回顾)

    当想从一种编码方式转换为另一种编码方式时,执行的就是以上步骤. 在python3里面,默认编码方式是unicode,所以无需解码(decode),直接编码(encode)成你想要的编码方式就可以了. ...

  5. (74)c++再回顾一继承和派生

    一:继承和派生 0.默认构造函数即不带参数的构造函数或者是系统自动生成的构造函数.每一个类的构造函数可以有多个,但是析构函数只能有一个. 1.采用公用public继承方式,则基类的公有成员变量和成员函 ...

  6. SSM整合再回顾

    一.spring 前言:提起spring就不得不说到它的IOC和AOP的概念.IOC就是一个对象容器,程序员可以将对象的创建交给spring的IOC容器来创建,不再使用传统的new对象方式,从而极大程 ...

  7. STL再回顾(非常见知识点)

    目录 为人熟知的pair类型 再谈STL 迭代器的使用 常用的STL容器 顺序容器 vector(向量) 构造方式 拥有的常用的成员函数(java人称方法) string 构造方式 成员函数 dequ ...

  8. python中os模块再回顾

    先看下我的文件目录结构 F:\PYTHON项目\ATM购物车\7月28 在此目录下的文件如下: 封装.py 模块os.sys复习.py 运行当前的文件是模块os.sys复习.py 1.获取当前文件所在 ...

  9. 再看Ajax

    再回顾Ajax相关的内容,再次梳理学习还是很有必要的,尤其是实际的开发中,ajax更是必不可少,仔细学习以便避免不必要的错误. 文章导读: --1.使用XMLHttpRequest---------- ...

随机推荐

  1. iOS边练边学--触摸事件以及能够拖拽的UIView的练习

    一.用户在使用APP的过程中,会产生各种各样的事件.iOS中的事件可以分为3大类型: 二.响应者对象 在iOS中只有继承了了UIResponder的对象才能接受并处理事件,这样的对象称之为“响应者对象 ...

  2. MVC教程一:MVC简介

    一.概述 1.MVC是一种流行的Web应用架构技术,他把Web应用划分成Model(模型).Controller(控制器)和View(视图)三部分. 2.优点:可测试.可维护 3.MVC是ASP.NE ...

  3. 登录centos虚拟机后显示-bash-4.1

    http://zhidao.baidu.com/link?url=KwpGOdwFw1oxnL71pvPlfRgbRL_IuQeYRzIYJjiDb2SnX0dQye5yUXqHAGSyuD6u2nD ...

  4. C++ STL 教程

    C++ STL 教程在前面的章节中,我们已经学习了 C++ 模板的概念.C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的 ...

  5. 【转载】C#进阶系列——动态Lamada(二:优化)

    前言:前几天写了一篇动态Lamada的文章C#进阶系列——动态Lamada,受园友xiao99的启发,今天打算来重新优化下这个动态Lamada的工具类.在此做个笔记,以免以后忘了. 一.原理分析 上篇 ...

  6. (转)音频输出PCM与LPCM有什么不同

     多声道LPCM:无损音轨原始存在格式,概念上等效于wave文件,并不需要运算解码,可直接输入功放进行DA转换,光纤和同轴接口只能传输2声道LPCM,多声道LPCM需要HDMI接口传输.   PCM: ...

  7. Centos下查看和修改网卡Mac地址

    linux/Centos下查看网卡Mac地址,输入命令: #ifconfig -a eth0 Link encap:Ethernet HWaddr 00:e4:56:2E:D8:20 00:e4:56 ...

  8. jquery+json实现分页效果

    son作为一种轻量级的数据交换格式,由于其传输数据格式的方便性,今天偶然想将其应用于分页实现,分页做为web开发一个长久的话题,其应用的高效与重要性就不多说了本文主要技术:反射机制,Json数据格式, ...

  9. 如何用MathType编辑化学等式

    MathType在数学中应用非常广泛,被大量用于编辑数学公式,MathType不仅可以用来编辑数学公式,还可以编辑化学反应式,那么MathType编辑化学等式怎么操作的呢? 具体操作如下: 1.打开M ...

  10. brew 的 调度工具DBGPRINTF 和 c语言的 printf

    在官方的文档中是这样备注DBGPRINTF Prototype void dbgprintf(const char *pszFormat,...); Description This function ...