IO流详解之代码详解
前面呢已经发了一些理解,整理了注释,整体来说IO这里难度不是很大,代码呢没有详细敲,只写了一个大概总结的内容如下:
/** 一切皆文件:文件是所有操作系统保存数据和处理逻辑的唯一方式:不管是.exe,可执行文件,.sh,rar,zip都是文件.
* 数据库是文件保存数据的一种方式
*
* 文件的信息:
* 我们平常做的:
* 先找到:文件名(全路径,包括扩展名)URI,URL
* D:/akdssald/sds
* 在操作:增删改查
*
* File类中常用方法
* 1 文件路径信息
* 绝对路径
* 父路径: ../
* 相对路径
* 2 文件名属性
* 文件名
* 文件扩展名
* 3 其他属性
* 创建时间
* 最后修改时间
* 目录,文件
* 文件长度
* 4 遍历目录
*
* getAbsolutePath();
* getName();
* getParent();
*/
import java.io.*;
import java.util.*;
import java.text.*;
public class IO_15_File_01{
public static void main(String[] args) throws Exception{
//1 获取文件的绝对路径,构造函数并不是创建新文件用的,文件是在硬盘中的,但是这里只是把文件对象复制到内存而已,然后返回找到这个文件的路径
//2 构造方法只不过是为已经存在的文件,创建File对象
File f1 = new File("D:/Users/Admin/Desktop/IO/File_test.java");
System.out.println( f1.getAbsolutePath() );//获取全名
//D:\Users\Admin\Desktop\IO\File_test.java //2 获取文件名
System.out.println( f1.getName() ); //真实文件名,包括扩展名
//File_test.java //3 获取父路径
File f2 = new File("D:\\Users\\Admin\\Desktop\\IO\\fos_tmp_01.txt");
File f3 = new File("D:/test.txt");
//Linux
//windows \ 右斜线正斜线 /反斜线,左斜线
System.out.println( f2.getParent() );
System.out.println( f3.getParent() );
//D:\Users\Admin\Desktop\IO //4 判断是文件还是目录:目录也是文件,页面保存的是文件对象的内存地址
System.out.println( f3.isFile() );
System.out.println( f3.isDirectory() ); //5 获取最后一次修改时间
Date t = new Date(f2.lastModified());
System.out.println( new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(t) ); //创建新文件
File f4 = new File("D:/IO");
System.out.println( f4.createNewFile() ); //6 获取文件长度
System.out.println( f4.length() ); //7 列出子文件
File f5 = new File("D:\\Users\\Admin\\Desktop\\js_jq\\");
File[] fs =f5.listFiles();
for (File f:fs){
System.out.println( f.getAbsolutePath() );
if (f.getAbsolutePath().endsWith(".java")) {
System.out.println( f.getAbsolutePath() );
}
}
}
}
上面的基本上将流中的方法写了差不多了,仅供参考!
IO流详解之代码详解的更多相关文章
- RAID5 IO处理之写请求代码详解
我们知道RAID5一个条带上的数据是由N个数据块和1个校验块组成,其校验块由N个数据块通过异或运算得出,这样才能在任意一个成员磁盘失效时通过其他N个成员磁盘恢复出用户写入的数据.这也就要求RAID5条 ...
- RAID5 IO处理之条带读代码详解
除了对齐读流程中读失败通过条带重试的场景会进入到条带读,当IO覆盖范围超过一个chunk时也会进入条带读(如向chunk为4K的RAID下发起始位置为1K大小为4K的IO),接下来我们就这部分逻辑进行 ...
- RAID5 IO处理之对齐读代码详解
1 总体流程 当一个读请求的覆盖范围落在一个chunk范围内时为对齐读,流程图如下所示: 2 入口 在RAID5的IO处理函数 make_request() 一开始进行了对齐读的判断和处理,代码如下所 ...
- IO流的标准处理代码
FileInputStream fis = null; FileOutputStream fos = null; try { fis = new FileInputStream("aaa.t ...
- Java第三阶段学习(二、IO流--------递归,字节流Stream)
一.递归 定义:指方法在方法内调用自己 适用于方法的运算主体不变,但运行的时候,参与运算的方法参数会变化注意:一定要给递归一个出口,否则内存溢出 练习题1:使用递归打印文件夹中所有的文件,包含子目录中 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_1_使用Properties集合存储数据,遍历取出集合中的数据
map下面的实现类叫做Hashtable Properties是唯一和IO流相结合的 讲解 代码
- IO流详解及测试代码
IO流 (1)IO用于在设备间进行数据传输的操作 (2)分类: A:流向 输入流 读取数据 输出流 写出数据 B:数据类型 字节流 字节输入流 ...
- 基于JavaSE阶段的IO流详解
1.IO流基本概述 在Java语言中定义了许多针对不同的传输方式,最基本的就是输入输出流(俗称IO流),IO流是属于java.io包下的内容,在JavaSE阶段主要学下图所示的: 其中从图中可知,所有 ...
- IO流详解
目录 IO流 IO流概述及其分类 IO概念 流按流向分为两种: 流按操作类型分为两种: 常用的IO流类 字节流的抽象父类: 字符流的抽象父类: InputStream & FileInputS ...
随机推荐
- ASP .Net提交时禁用Button
转自:http://gaterking.blog.51cto.com/69893/301691/ 今天遇到一种小情况,想要在.net的服务器控件asp:button按下去时通过OnClientClic ...
- HDU 1561 树形DP(入门)
题目链接: HDU 1561 The more, The Better #include <iostream> #include <cstdio> #include < ...
- Javascript注意事项三【使用假值】
0 //NumberNaN //Number'' //Stringfalse //Booleannull //Objectundefined //Undefined这些值全部都等同于false,但是它 ...
- Jenkins 实际项目操作
.Abstract { padding: 15px; border: dotted 2px #999; color: #999; font-family: "Microsoft Yahei& ...
- mybatis 打印sql log配置
mybatis 打印sql log, 方便调试.如何配置呢? log4j.xml : <!-- 打印sql start --> <appender name="IBatis ...
- 9 个让 JavaScript 调试更简单的 Console 命令
一.显示信息的命令 <!DOCTYPE html> <html> <head> <title>常用console命令</title> < ...
- 【21】必须返回对象时,别妄想返回器reference
1.考虑有理数Rational,有个友元操作符*,返回Rational对象.返回对象,导致临时对象的构造,析构.效率低,因此会想返回方法内局部对象的引用,这种方法不可行.为什么? 2.调用方法是在st ...
- MVC返回http状态码
//controller ); //asp.net return HttpStatusCode.OK
- C#-设置窗体在显示器居中显示
在窗体的属性中查看:StartPosition属性,该属性的设置中有一个"CenterScreen"的选择项,该项就是设置窗体局中显示的.
- python第三方库系列之十九--python測试使用的mock库
一.为什么须要mock 在写unittest的时候,假设系统中有非常多外部依赖,我们不须要也不希望把全部的部件都执行一遍.比方,要验证分享到微博的功能,假设每次測试的时候都要真实地把接 ...