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 ...
随机推荐
- Spark1.0.0新特性
Spark1.0.0 release于2014-05-30日正式公布,标志Spark正式进入1.X的时代.Spark1.0.0带来了各种新的特性,并提供了更好的API支持:Spark1 ...
- 最小投票BZOJ 1934([Shoi2007]Vote 善意的投票-最小割)
上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下最小投票 1934: [Shoi2007]Vote 好心的投票 Time Limit: 1 Sec Memory L ...
- hdu 5565 Clarke and baton 二分
Clarke and baton Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...
- S5PV210开发系列四_uCGUI的移植
S5PV210开发系列四 uCGUI的移植 象棋小子 1048272975 GUI(图形用户界面)极大地方便了非专业用户的使用,用户无需记忆大量的命令,取而代之的是能够通过窗体.菜单 ...
- android:layout_weight总有你不知道的用法.
都知道weight是权重的意思. 在布局中起到非常重要的作用. 但是这玩意不能嵌套使用, 而且只能使用在LinearLayout中. 下面说说它的几种用法(以下例子全为横排 注意android:lay ...
- Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序 ...
- Javascript与Ajax
不使用jquery来处理ajax请求该怎么做? 首先要明确html中的某些数据需要从服务端获得,也就是客户端向服务端请求(request)数据,服务端就响应(response)这个请求,把客户端要的数 ...
- redis中5种数据结构的使用
一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 ...
- next_permutation()—遍历全排列
# next_permutation()--遍历全排列 template <class BidirectionalIterator> bool next_permutation (Bidi ...
- [改善Java代码]不使用stop方法停止线程
线程启动完毕后,在运行可能需要终止,Java提供的终止方法只有一个stop,但是不建议使用此方法,因为它有以下三个问题: (1)stop方法是过时的 从Java编码规则来说,已经过时的方式不建议采用. ...