JAVA高级视频_IO输入与输出_File类_笔记
2011-05-12 19:05
861 查看
概念:
File类 是 IO包中 唯一代表 磁盘文件本身信息的 类,而不是 文件 的 内容;//理解为“抽象 of 文件”
File类 定义了 一些 与平台无关的 方法 来操纵 文件,例如,创建、删除文件 或 重命名文件;
Java中的 目录 被当做 一种特殊的 文件 使用,(File类的)list方法 可以返回 目录中的 所有子目录 和 文件名;
Unix的 路径分隔符 为“/”,而Dos 为"/",Java 可以 正确处理 两种不同的 分隔符。//就算打错了,Java也会淡定的自己处理这个问题
编程举例:
工具:JCreator
1.建立工程:
File -> New -> Project。建立空白工程,然后确定工程名(FileTest)和工程路径(随自己方便)
2.建立新 类:
打开工程:Project -> New Class,自定类名(FileTest),选择Public选项和Generate main function选项,前者不明,后者是由于需要独立运行,类似于C++的入口函数main();
3.关键字 import:
应该跟C++的include类似,import引入包,include引用头文件。目前尚不知自己定制的包如何用import引入,大概是扔到JDK的相关路径里去吧。
4.贴代码(引用自标题教学视频,另外我用的JCreator是Le版的,方法名称敲到脑残……):
//FileTest.java
/*
*这个程序的功能是玩命的创建和删除可怜的1.txt
*/
import java.io.*; //include the "File" class
import java.util.Date; //include the "Date" class
public class FileTest {
/**
* Method main
*
*
* @param args
*
*/
public static void main(String[] args) {
// TODO: Add your code here
File f = new File ("1.txt"); //like C++ "new"
if(f.exists()) { //exists方法是检测文件有没有存在感的
f.delete();
}else{
try {
f.createNewFile(); //之所以在try块里运行是因为在写文件或者磁盘满的时候会产生 运行时 错误
}
catch (Exception e){ //this "catch" is like C++ too
e.printStackTrace(); //perhaps to put some error message
}
}
System.out.println ("File name:" + f.getName()); //获取文件名
System.out.println ("File path:" + f.getPath()); //获取文件路径
System.out.println ("File abs path:" + f.getAbsolutePath()); //获取文件绝对路径
System.out.println ("File Parent:" + f.getParent()); //获取文件的目录
System.out.println (f.exists() ? "exist" : "not exist"); //判断文件是否存在
System.out.println (f.canRead() ? "read" : "can't read"); //判断文件是否能读
System.out.println (f.isDirectory() ? "directory" : "not directory"); //判断文件是否为目录(Java中目录也是文件)
System.out.println ("File last modified:" + new Date(f.lastModified())); //lastModified return long type
//用Date方法转long为string
//返回文件的修改时间
}
}
5.命令行和Java
进入源文件目录,“Java 文件名”,可以在命令行下运行程序。当JCreator抽风的时候,别忘了强力的命令行界面。
File类 是 IO包中 唯一代表 磁盘文件本身信息的 类,而不是 文件 的 内容;//理解为“抽象 of 文件”
File类 定义了 一些 与平台无关的 方法 来操纵 文件,例如,创建、删除文件 或 重命名文件;
Java中的 目录 被当做 一种特殊的 文件 使用,(File类的)list方法 可以返回 目录中的 所有子目录 和 文件名;
Unix的 路径分隔符 为“/”,而Dos 为"/",Java 可以 正确处理 两种不同的 分隔符。//就算打错了,Java也会淡定的自己处理这个问题
编程举例:
工具:JCreator
1.建立工程:
File -> New -> Project。建立空白工程,然后确定工程名(FileTest)和工程路径(随自己方便)
2.建立新 类:
打开工程:Project -> New Class,自定类名(FileTest),选择Public选项和Generate main function选项,前者不明,后者是由于需要独立运行,类似于C++的入口函数main();
3.关键字 import:
应该跟C++的include类似,import引入包,include引用头文件。目前尚不知自己定制的包如何用import引入,大概是扔到JDK的相关路径里去吧。
4.贴代码(引用自标题教学视频,另外我用的JCreator是Le版的,方法名称敲到脑残……):
//FileTest.java
/*
*这个程序的功能是玩命的创建和删除可怜的1.txt
*/
import java.io.*; //include the "File" class
import java.util.Date; //include the "Date" class
public class FileTest {
/**
* Method main
*
*
* @param args
*
*/
public static void main(String[] args) {
// TODO: Add your code here
File f = new File ("1.txt"); //like C++ "new"
if(f.exists()) { //exists方法是检测文件有没有存在感的
f.delete();
}else{
try {
f.createNewFile(); //之所以在try块里运行是因为在写文件或者磁盘满的时候会产生 运行时 错误
}
catch (Exception e){ //this "catch" is like C++ too
e.printStackTrace(); //perhaps to put some error message
}
}
System.out.println ("File name:" + f.getName()); //获取文件名
System.out.println ("File path:" + f.getPath()); //获取文件路径
System.out.println ("File abs path:" + f.getAbsolutePath()); //获取文件绝对路径
System.out.println ("File Parent:" + f.getParent()); //获取文件的目录
System.out.println (f.exists() ? "exist" : "not exist"); //判断文件是否存在
System.out.println (f.canRead() ? "read" : "can't read"); //判断文件是否能读
System.out.println (f.isDirectory() ? "directory" : "not directory"); //判断文件是否为目录(Java中目录也是文件)
System.out.println ("File last modified:" + new Date(f.lastModified())); //lastModified return long type
//用Date方法转long为string
//返回文件的修改时间
}
}
5.命令行和Java
进入源文件目录,“Java 文件名”,可以在命令行下运行程序。当JCreator抽风的时候,别忘了强力的命令行界面。
相关文章推荐
- JAVA高级视频02_IO输入与输出 06 ByteArrayInputStram和ByteArrayOutputStream 学习笔记
- JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记
- JAVA高级视频_IO输入与输出04 学习笔记
- JAVA高级视频02_IO输入与输出 06 PipedInputStream和PipedOutPutStream 学习笔记
- JAVA高级视频_IO输入与输出02、03 RandomAccessFile 学习笔记
- JAVA高级视频_IO输入与输出01 学习笔记
- JAVA高级视频_IO输入与输出_RandomAccessFile类_笔记
- JAVA高级视频02_IO输入与输出 06 PipedWriter和PipedReader学习笔记
- JAVA高级视频02_IO输入与输出日记1(02-01到02—03)
- Java高级视频_IO输入与输出(一)
- 黑马程序员-JAVA高级视频_IO输入与输出-18天-6(文本文件读取方式二)
- JAVA高级视频_IO输入与输出 ObjectInputStream和ObjectOutputStream类 学习笔记
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-4(MyBufferedReader)
- 黑马程序员--java高级视频_io输入与输出
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-2(File文件列表)
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-3(File文件递归)
- 黑马程序员-JAVA高级视频_IO输入与输出-20天-5(File打印流)
- JAVA高级视频_IO输入与输出_收获二
- JAVA高级视频02_IO输入与输出日记2(02-04到05)
- 黑马程序员-JAVA高级视频_IO输入与输出-18天-4(文件的续写)