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 文件的更多相关文章

  1. java新手笔记1 Hello World!

    //Hello.java文件 //类声明 public class Hello{ //声明方法 main程序入口 public static void main (String[] args) { S ...

  2. java新手笔记29 读取文件

    1.读取文件 package com.yfs.javase; import java.io.FileInputStream; import java.io.FileReader; import jav ...

  3. JAVA新手笔记 Intent对象和Bundle对象

    Intent对象和Bundle对象 功能主要是在 MainActivity中定义了2个EditText,当用户输入内容,把他传入到第二个活动, 自己新创的活动中,MyActivity中 放在MainA ...

  4. java新手笔记34 连接数据库

    1.JdbcUtil package com.yfs.javase.jdbc; import java.sql.Connection; import java.sql.DriverManager; i ...

  5. java新手笔记32 jdk5新特性

    1.for package com.yfs.javase; import java.awt.Color; import java.util.Calendar; import java.util.Has ...

  6. java新手笔记24 Math/String对象

    1.Math package com.yfs.javase; public class MathDemo { public static void main(String[] args) { int ...

  7. java新手笔记17 参数

    package com.yfs.javase; public class ParamDemo { public static void main(String[] args) { int a = 3, ...

  8. java新手笔记8 包

    1.main函数 public class MainParam { //考察main 方法的参数 args //运行时可以传入参数 参数类型 String public static void mai ...

  9. java学习笔记 (6) —— 文件上传

    1.新建upload.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...

随机推荐

  1. Covarience And ContraVariance

    using System; using System.Collections.Generic; using System.IO; namespace CovarientAndContraVarient ...

  2. VS2015创建的Asp.net WebApi默认项目在CentOS7+Mono4.2.2+jexus5.8运行不起来的解决方案

    主要原因是Web.config配置的问题. 修改成如下内容: <?xml version="1.0" encoding="utf-8"?> < ...

  3. SPOJ LIS2 Another Longest Increasing Subsequence Problem 三维偏序最长链 CDQ分治

    Another Longest Increasing Subsequence Problem Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://a ...

  4. HDU 4586 A - Play the Dice 找规律

    A - Play the DiceTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/ ...

  5. SQL Server中DML语句要申请的锁

    对于select语句: 1.当採用表扫描时,会直接锁定page,而不是锁定详细的某条记录,所以会有这些锁: A.数据库S锁 B.表的IS锁 C.页的S锁 2.当採用索引来查找数据时,会锁定详细的记录, ...

  6. iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)

    前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...

  7. python---pyc pyo文件详解

    http://blog.csdn.net/balabalamerobert/article/details/2683029#comments http://blog.csdn.net/zhengsen ...

  8. Android之自定义AlertDialog无法监听控件

    参考:http://www.cnblogs.com/511mr/archive/2011/10/21/2220253.html 要做一个自定义的弹出框,以前都是用一个Activity来实现,总觉得不是 ...

  9. js自动提交按钮

    document.forms['alipaysubmit'].submit(); <form id='alipaysubmit' name='alipaysubmit' action='' me ...

  10. Java(Android)编程思想笔记01:多态性的理解

    1. 多态的定义: 指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式. (发送消息就是函数调用)   2. 多态的理解    多态是面向对象的重要特性,简 ...