黑马程序员-IO流 File类及Properties类
2013-03-28 20:06
369 查看
-------
android培训、java培训、期待与您交流! ----------
File类:用来将文件或者文件夹封装成对象,方便对文件和文件夹的属性信息进行操作。
File.separator:系统默认名称分隔符,跨平台。
File类常见方法:
1.创建:
boolean createNewFile();在指定位置创建文件,如果该文件已经存在,则不创建,返回false。
和输出流不一样,输出流如果已经存在,会覆盖文件。
boolean mkdir():创建目录
2.删除:
boolean delete():删除失败返回false
void deleteOnExit():程序退出时删除指定文件。
3.判断
boolean exists():文件是否存在
boolean isDirectory():判断是否是目录
boolean isFile():判断是否是文件
boolean isHidden():是否是隐藏文件
boolean isAbsolute():测试抽象路径名是否是绝对路径
4.获取
getPath():
getAbsolutePath():
getParent():该方法返回的是绝对路径中的父目录,如果该路径是相对路径,则返回null
length():返回由此抽象路径名表示的文件的长度。
lastModified():最后一次文件修改时间
boolean reNameTo(File dest)重新命名此抽象路径名表示的文件,类似于剪切
递归:函数自身调用自身,称之为递归。
列出目录所有子目录及文件名称:
Properties是hashtable的子类,具备map集合的特点。存储的键值对都是字符串。
是集合和io技术相结合的集合容器。
可以用于键值对形式的配置文件。在加载数据时,需要是键值对形式。
load():从输入流中加载属性列表。
getProperty():获取
setProperty():设置
stringPropertyNames():返回一个set集合,存储此属性列表中的键集。
把键值对配置文件存储到Properties集合中:load()方法原理
store(OutputStream os,String comment):把修改后的配置传递到配置文件。
模仿程序限制使用次数
打印流:该流提供了打印方法,可以将各种数据类型的数据都原样打印。
字节打印流: PrintStream
可以接受的参数类型:file对象,字符串路径,字节输出流
字符打印流: PrintWriter
可以接受的参数类型:file对象,字符串路径,字节输出流,字符输出流
当PrintWriter接受的是流对象时,后面可以加标记,如果标记为true,println,printf,format方法都可以自动刷新。
android培训、java培训、期待与您交流! ----------
File类:用来将文件或者文件夹封装成对象,方便对文件和文件夹的属性信息进行操作。
File.separator:系统默认名称分隔符,跨平台。
File类常见方法:
1.创建:
boolean createNewFile();在指定位置创建文件,如果该文件已经存在,则不创建,返回false。
和输出流不一样,输出流如果已经存在,会覆盖文件。
boolean mkdir():创建目录
2.删除:
boolean delete():删除失败返回false
void deleteOnExit():程序退出时删除指定文件。
3.判断
boolean exists():文件是否存在
boolean isDirectory():判断是否是目录
boolean isFile():判断是否是文件
boolean isHidden():是否是隐藏文件
boolean isAbsolute():测试抽象路径名是否是绝对路径
4.获取
getPath():
getAbsolutePath():
getParent():该方法返回的是绝对路径中的父目录,如果该路径是相对路径,则返回null
length():返回由此抽象路径名表示的文件的长度。
lastModified():最后一次文件修改时间
boolean reNameTo(File dest)重新命名此抽象路径名表示的文件,类似于剪切
递归:函数自身调用自身,称之为递归。
列出目录所有子目录及文件名称:
import java.io.*; class FileDemo { public static void main(String[] args)throws IOException { System.setOut(new PrintStream("list.txt")); File file = new File("g:\\java"); getFiles(file,0); } public static void getFiles(File file,int floor) { System.out.println(getDirName(file,floor)); floor++; File[] files = file.listFiles(); for(File f : files) { if(f.isDirectory()) getFiles(f,floor); else if(f.getName().endsWith(".java")) System.out.println(getDirName(f,floor)); } } public static String getDirName(File f,int floor) { StringBuilder sb = new StringBuilder(); sb.append("|--"+f.getName()); for(int x=0;x<floor;x++) { sb.insert(0,"\t"); } return sb.toString(); } }
Properties是hashtable的子类,具备map集合的特点。存储的键值对都是字符串。
是集合和io技术相结合的集合容器。
可以用于键值对形式的配置文件。在加载数据时,需要是键值对形式。
load():从输入流中加载属性列表。
getProperty():获取
setProperty():设置
stringPropertyNames():返回一个set集合,存储此属性列表中的键集。
把键值对配置文件存储到Properties集合中:load()方法原理
BufferedReader bufr = new BufferedReader(new FileReader("info.txt")); String line = null; Properties prop = new Properties(); while((line=bufr.readLine())!=null) { String[] str = ling.split("="); prop.setProperty(str[0],str[1]); }
store(OutputStream os,String comment):把修改后的配置传递到配置文件。
模仿程序限制使用次数
import java.io.*; import java.util.*; class RunNumberDemo { public static void main(String[] args) throws IOException { File file = new File("number.ini"); if(!file.exists()) file.createNewFile(); FileInputStream fis = new FileInputStream(file); Properties prop = new Properties(); prop.load(fis); int number = 0; String value = prop.getProperty("time"); if(value!=null) { number = Integer.parseInt(value); if(number>=5) { System.out.println("次数已到,请付款"); return; } } number++; prop.setProperty("time",number+""); FileOutputStream fos = new FileOutputStream(file); prop.store(fos,""); fis.close(); fos.close(); } }
打印流:该流提供了打印方法,可以将各种数据类型的数据都原样打印。
字节打印流: PrintStream
可以接受的参数类型:file对象,字符串路径,字节输出流
字符打印流: PrintWriter
可以接受的参数类型:file对象,字符串路径,字节输出流,字符输出流
当PrintWriter接受的是流对象时,后面可以加标记,如果标记为true,println,printf,format方法都可以自动刷新。
相关文章推荐
- 黑马程序员——Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流
- 黑马程序员_Java基础_IO流_File类,列出(删除)目录下内容,Properties类,付费软件提示原理
- 黑马程序员--IO流中的File类和Properties类、其他流
- 黑马程序员——Java IO流(二)之流操作规律总结、File类、Properties类、序列流等
- 黑马程序员——IO流及字符编码和File类对象
- Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流) (黑马程序员)
- 黑马程序员——Java基础---异常,IO流,File类
- 黑马程序员_Java基础_IO流(File类和properties类相关操作)
- AdaultBird--我的黑马程序员之路!Chapter7---File类,IO流里的其他工具类,GUI
- 黑马程序员——Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流)
- 黑马程序员——Java基础---IO、File类、Properties类、打印流、序列流(合并流)
- 黑马程序员——IO流与File类
- 黑马程序员------IO流(No.3)(File类、Properties类)
- 黑马程序员_File类和Properties类
- 黑马程序员——Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流)
- 黑马程序员--IO(二)--File类、Properties类、打印流、序列流等
- 黑马程序员——IO流之File类、递归、Properties类
- 【黑马程序员】异常,File类,IO流——Java复习笔记
- 黑马程序员——Java基础---IO(三)--File类、Properties类、打印流、序列流(合并流)
- 黑马程序员——Java基础---IO流(File类、Properties类、其他流)