java新手笔记28 文件
1.目录、文件
package com.yfs.javase;
import java.io.File;
public class FileDemo1 {
/**
* File 目录 文件
*/
public static void main(String[] args) throws Exception {
// 创建目录对象 没有对应目录
File file = new File("C:/abc");
//File file = new File("C:/aaa/bbb/ccc");
System.out.println("file是否存在 : " + file.exists());
// 创建目录
if (!file.exists()) {
//file.mkdir();//创建单级目录
file.mkdirs();
System.out.println("目录创建完成...");
}
// System.out.println(File.pathSeparator);
// System.out.println(File.pathSeparatorChar);
// System.out.println(File.separator);
// System.out.println(File.separatorChar);
//文件
File f = new File(file,"Hello.txt");
System.out.println("f是否存在: " + f.exists());
if(! f.exists()) {
f.createNewFile();//创建文件
}
System.out.println("f.canExecute() : " + f.canExecute());
System.out.println("f.canRead() : " + f.canRead());
System.out.println("f.canWrite(): " + f.canWrite());
System.out.println("f.isDirectory(): " + f.isDirectory());
System.out.println("f.isFile(): " + f.isFile());
System.out.println("f.lastModified(): " + String.format("%tF %<tT", f.lastModified()));
//删除文件
System.out.println("删除文件:" + f.delete());
file.delete();//删除目录 目录必须为空
System.out.println("执行结束...");
}
}
2.相对 绝对
package com.yfs.javase;
import java.io.File;
public class FileDemo2 {
/**
* File 相对 绝对
*/
public static void main(String[] args) throws Exception {
File file = new File("img/index.gif");//相对路径 工程路径
System.out.println("file的路径: " + file.getPath());
System.out.println("file的父路径: " + file.getParent());
System.out.println("file的绝对路径: " + file.getAbsolutePath());
System.out.println("file的绝对文件: " + file.isAbsolute());
file = file.getAbsoluteFile();
System.out.println("file的绝对文件: " + file.isAbsolute());
//查看目录下的文件名称
File f = new File("E:\\clazz1\\workspace\\20140708");
//System.out.println(f.getAbsolutePath());
String[] files = f.list();
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}
//文件对象
File[] fs = f.listFiles();
for (int i = 0; i < fs.length; i++) {
System.out.println(fs[i].getAbsolutePath());
}
}
}
3.显示所有文件
package com.yfs.javase;
import java.io.File;
public class FileDemo3 {
/**
* File 相对 绝对
*/
public static void main(String[] args) throws Exception {
File f = new File("E:\\clazz1\\workspace\\20140708");
showAllFile(f);
}
//递归算法 方法调用自己
public static void showAllFile(File file) {
//文件
if(file.isFile()) {
System.out.println(file.getPath());
return;
}
//目录
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
//递归
showAllFile(files[i]);//是目录 再调用自己方法
}
}
}
4.字节流
package com.yfs.javase; import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.Reader; public class IODemo1 { /**
* 输入 字符 字节
*/
public static void main(String[] args) throws Exception {
// inputData();
// inputChar();
readChar(); } // 字符流
public static void readChar() throws Exception { File file = new File("in2.txt");// 源头
// 输入流 源头与程序之间 建立连接
Reader in = new FileReader(file); int data = in.read();//按字符处理
System.out.println((char) data); data = in.read();
System.out.println((char) data); data = in.read();
System.out.println((char) data); data = in.read();
System.out.println((char) data); // 关闭连接
in.close(); } public static void inputChar() throws Exception {
// in1.txt 当前程序
File file = new File("in2.txt");// 源头
// 输入流 源头与程序之间 建立连接
InputStream in = new FileInputStream(file); int data = in.read();// 每次读一个字节
System.out.println((char) data); data = in.read();// 每次读一个字节
System.out.println((char) data); data = in.read();// 每次读一个字节
System.out.println((char) data); data = in.read();// 每次读一个字节
System.out.println((char) data); // 关闭连接
in.close(); }
//字节流
public static void inputData() throws Exception {
// in1.txt 当前程序
File file = new File("in1.txt");// 源头
// 输入流 源头与程序之间 建立连接
InputStream in = new FileInputStream(file); int data = in.read();// 每次读一个字节
System.out.println((char) data); data = in.read();// 每次读一个字节
System.out.println((char) data); data = in.read();// 每次读一个字节
System.out.println((char) data); data = in.read();// 每次读一个字节
System.out.println((char) data); // 关闭连接
in.close(); } }
java新手笔记28 文件的更多相关文章
- java新手笔记1 Hello World!
//Hello.java文件 //类声明 public class Hello{ //声明方法 main程序入口 public static void main (String[] args) { S ...
- java新手笔记29 读取文件
1.读取文件 package com.yfs.javase; import java.io.FileInputStream; import java.io.FileReader; import jav ...
- JAVA新手笔记 Intent对象和Bundle对象
Intent对象和Bundle对象 功能主要是在 MainActivity中定义了2个EditText,当用户输入内容,把他传入到第二个活动, 自己新创的活动中,MyActivity中 放在MainA ...
- java新手笔记34 连接数据库
1.JdbcUtil package com.yfs.javase.jdbc; import java.sql.Connection; import java.sql.DriverManager; i ...
- java新手笔记32 jdk5新特性
1.for package com.yfs.javase; import java.awt.Color; import java.util.Calendar; import java.util.Has ...
- java新手笔记24 Math/String对象
1.Math package com.yfs.javase; public class MathDemo { public static void main(String[] args) { int ...
- java新手笔记17 参数
package com.yfs.javase; public class ParamDemo { public static void main(String[] args) { int a = 3, ...
- java新手笔记8 包
1.main函数 public class MainParam { //考察main 方法的参数 args //运行时可以传入参数 参数类型 String public static void mai ...
- java学习笔记 (6) —— 文件上传
1.新建upload.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...
随机推荐
- osg通过glsl实现一个平面的水效果(法线贴图) 【转】
转自 http://blog.sina.com.cn/s/blog_78ea87380101ehk3.html 此文实现一个简单的的水面效果,主要是法线贴图, 效果图如下: 此文分为三部分:ver ...
- cocos2dx3.2 画图方法小修改之 C++ final学习
今天用cocos2dx 3.2版本号学习画图功能, 于是我重载Node 的draw方法.发现报错, watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...
- SQL Server中DML语句要申请的锁
对于select语句: 1.当採用表扫描时,会直接锁定page,而不是锁定详细的某条记录,所以会有这些锁: A.数据库S锁 B.表的IS锁 C.页的S锁 2.当採用索引来查找数据时,会锁定详细的记录, ...
- Linux内核初始化定义
转载:http://blog.csdn.net/beatbean/article/details/8448623 1. Compile宏控制 位于include/linux/init.h /* The ...
- Ubuntu14.04 Kylin下 GO语言环境搭建
sudo apt-get install golang gccgo安装 gcc -v 查看 --enable-languages=c,c++,objc,obj-c++,java,fortran,ada ...
- python(1) - 第一个程序 Hello World!
进入python3的解释器环境. 我们让解释器输出 “Hello World!” 解释器成功的输出了Hello world! 程序就这样完成了. 当然上面的程序我们是在解释器中完成的. 我们可以通过 ...
- linux-redhat5找回root密码
我在虚拟机里装了个redhat(RedhatEnterpriseLinuxASv5.4-x64),也不经常用,偶尔进去用用吧,又把密码忘记了,哎...脑子不好使啊 不知道像ubuntu是不是一样的,还 ...
- LeetCode 142
Linked List Cycle II Given a linked list, return the node where the cycle begins. If there is no cyc ...
- 关于搭建haddoop分布式系统的全部过程复习
1\在vmware中更改了虚拟机的网络类型,--->NAT方式,(虚拟交换机的ip可以从vmvare的edit-->vertual network editor看到)2.根据这个交换机(网 ...
- 【线性结构上的动态规划】UVa 11584 - Partitioning by Palindromes
回文串问题.给出一个字符串,问最少可以划分为多少个字符串子串. 对于判断是否为回文串,对于不是很长的字符串,可以采取直接暴力,即从两边向中间收缩判断字符相等. bool is_pali(int l, ...