JAVA 21 IO File Properties

File:文件类,操作文件夹,文件的属性信息。

创建对象举例“

File f1=new File("c:\\abc\\a.txt"); 字符串可以为变量

File f2 = new File("c:\\abc","a.xtx");指定目录名和文件名称

File d = new File("c:\\abc")

File f3 = new File(d,"a.txt"); 变量形式。

目录分隔符的跨平台形式

File f4 = new File("c:"+File.separator+"abc"+File.separator+"abc.txt" ;

File类常见方法:

1,创建

bollean creatNewFile(); //在指定位置创建文件,如果文件已经存在,则不创建。返回

false,和输出流不一样,输出流一建立就会创建文件。而且会覆盖。

mkdir();//创建目录,只能创建一级目录

mkdirs(); //可以创建多及目录

2,删除

boolean delate();

void dealteOnExit();//退出的时候删除。

3,判断

boolean canExcute();//是否可执行

canRead()

canWrite()

exists()

isFile()//判断文件是否是文件或目录时,必须先判断该文件对象封装的内容是否存在,通过exists().c

isHidden()

isDirectory()

isAbsolute()

int compareTo()

4,获取文件信息

String

getName()

getPath()

getParent()

long lastModified() ;最后修改时间

long lenth()

boolean renameTo(File)//移动文件

5,其它

列出盘符

File [] f =File.listRoots();

for(File p:f)

{

sop(p);

}

String [] list();//返回指定目录下文件或者文件夹名称

文件过滤器

String[] list(FilenameFilter f);//返回指定格式的文件名数组

File f1=new File("C:\\Users\\zx\\Desktop");

String name [] =f1.list(new FilenameFilter()

{

public boolean accept(File dir,String n)//dir 和name 是文件对象的目录和所有文件名

{

return n.endsWith(".o");

}

});

sop(name.length);

File[] listFiles();与上面相同,不过返回文件对象数组。也可以使用过滤器。

Properties是hashtable的子类

 

它具备map集合的特点,而且里面存储的键值对都是字符串,不需要泛型

是集合中io技术相结合的集合容器。

该对象的特点:可以用于键值对形式的配置文件,可以操作硬盘上上的键值对。

String getProperty(String key)//返回值

Object setProperty(String key,String value)//修改值/设置值

list(PrintStream out) //将属性列表指定到输出流。

load(Reader reader)//与流相结合

store(OutputStream,String 注释信息)

Set<String> stringPropertyNames()//返回键集

打印流PrintStream PrintWriter

 

字节打印流和字符打印流。

是Stream 和 Writer的子类。

PrintStream

构造函数可以接收的参数类型:

1,file对象 File

2,字符串路径 String

3,字符数出流 OutputStream

PrintWriter

可以接受各种流。

1,file对象 File

2,字符串路径 String,文件名路径。

3,字符数出流 OutputStream

4,多一个字符输出流 Writer

主要方法,除了OutputStream的方法外,还有

print

println方法,而且可以保证数据的原样性

合并流SequenceInputStream,直接举例应用

 

切割流Split,切割一个文件变成三个文件为例,没有新对象。

 

 

举例应用,列出所有目录:递归

import java.io.*;

import java.util.*;

public class Test {

public static void main(String[] args) throws IOException

{

File f= new File("e:\\百度云同步盘");

showDir(f);

}

public static void showDir(File dir)

{

File [] files = dir.listFiles();

for(int x=0;x<files.length;x++)

{

if(files[x].isDirectory())

{

showDir(files[x]);

}

else

{

sop(files[x]);

}

}

}

public static void sop(Object o)

{

System.out.println(o);

}

}

把所有.java文件目录存储到文件中

 

import java.io.*;

import java.util.*;

public class Test {

public static void main(String[] args) throws IOException

{

File f= new File("e:\\百度云同步盘");

FileWriter fw = new FileWriter("C:\\Users\\zx\\Desktop\\File.txt");

BufferedWriter bw = new BufferedWriter(fw);

showDir(f,bw);

bw.close();

sop("end");

}

public static void showDir(File dir,BufferedWriter bw) throws IOException

{

File [] files = dir.listFiles();

for(int x=0;x<files.length;x++)

{

if(files[x].isDirectory())

{

showDir(files[x],bw);

}

else

{

if(files[x].toString().endsWith(".java"))

{

bw.write(files[x].toString());

sop(files[x].toString());

bw.newLine();

bw.flush();

}

}

}

}

public static void sop(Object o)

{

System.out.println(o);

}

}

Properties 应用

 

import java.io.*;

import java.util.*;

public class Test {

public static void main(String[] args) throws IOException

{

Properties pop = new Properties();

pop.load(new FileReader("C:\\Users\\zx\\Desktop\\File.txt")); //从文件中加载信息

sop(pop);

pop.setProperty("zhanghaijun","88"); //修改map集合

pop.store(new FileOutputStream("C:\\Users\\zx\\Desktop\\File.txt"), null); //将新集合写入到文件中

sop(pop);

}

public static void sop(Object o)

{

System.out.println(o);

}

}

限制程序使用次数。

import java.io.*;

import java.util.*;

public class Test {

public static void main(String[] args) throws IOException

{

Properties pop = new Properties();

pop.load(new FileReader("C:\\Users\\zx\\Desktop\\File.txt"));

String s =pop.getProperty("times");

int a = Integer.parseInt(s);

if(a>=10)

sop("不可以用了");

else

{

sop("已经使用"+a+"次");

pop.setProperty("times", a+1+"");

pop.store(new FileOutputStream("C:\\Users\\zx\\Desktop\\File.txt"), null);

}

}

public static void sop(Object o)

{

System.out.println(o);

}

}

PrintWriter举例应用

import java.io.*;

import java.util.*;

public class Test {

public static void main(String[] args) throws IOException

{

BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));

PrintWriter out = new PrintWriter(System.out ,true); //如果设置为true,则自动刷新。

String line = null;

while((line = buf.readLine())!=null)

{

out.println(line);

out.flush();

}

}

public static void sop(Object o)

{

System.out.println(o);

}

}

SequenceInputStream 合并流

举例应用

import java.io.*;

import java.util.*;

public class Test {

public static void main(String[] args) throws IOException

{

FileInputStream f1 = new FileInputStream("C:\\Users\\zx\\Desktop\\1.txt");

FileInputStream f2 = new FileInputStream("C:\\Users\\zx\\Desktop\\2.txt");

FileInputStream f3 = new FileInputStream("C:\\Users\\zx\\Desktop\\3.txt");

FileOutputStream f4 = new FileOutputStream("C:\\Users\\zx\\Desktop\\4.txt");

Vector<FileInputStream> v = new Vector<FileInputStream>();

v.add(f1);

v.add(f2);

v.add(f3);

Enumeration<FileInputStream> en = v.elements();

SequenceInputStream sis = new SequenceInputStream(en);

byte [] by =new byte [1024];

int len;

while((len=sis.read(by))!=-1)

{

f4.write(by,0,len);

f4.flush();

}

sis.close();

f4.close();

}

public static void sop(Object o)

{

System.out.println(o);

}

}

时间: 2024-10-21 23:47:48

JAVA 21 IO File Properties的相关文章

黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或文件夹封装成对象 (2)方便于对“文件”与“文件夹属性信息”进行操作 (3)File对象,可以作为参数传递给流的构造函数 (二)构造方法 * 通过File的构造函数创建File对象 方式1:File f = new File("c:\\a.txt"); 方式2:File f2 = newF

黑马程序员——Java基础——IO流(二)——File类、Properties类、打印流、序列流

第一件 File类 一.File类 a.用于将文件或者文件夹封装成对象 b.方便对文件与文件夹的属性信息进行操作 c.File对象可以作为参数传递给流的构造函数 d.了解File类中的常用方法 二.File对象的创建 a.File f=new File("a:\\a.txt"): b.File f2=new File("C:\\abc","a.txt");//分开的好处是后一个参数能够使用其他对象如string c.File d=new File

黑马程序员——Java基础---IO(三)--File类、Properties类、打印流、序列流(合并流)

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作,因此是对流操作的一种补充 3)File类的实例是不可变的:也就是说,一旦创建,

Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流)

第一讲     File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作 3)File类的实例是不可变的:也就是说,一旦创建,File 对象表示的抽象路径名将永不改变 4)File对象可以作为参数传递给流的构造函数 二.File对象创建 方式一: File f =new File("a.txt"); 将a.txt封装成File对象.可以将已有的和未出现的文件或者文件夹封装成对象. 方式

黑马程序员——Java基础--IO流(一)---File类以及其他流对象

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.File类 File类是将文件系统中的文件和文件夹封装成了对象.提供了更多的属性和行为可以对这些文件和文件夹进行操作.这些是流对象办不到的,因为流只操作数据.File对象可以作为参数传递给流对象的构造函数.File 类的实例是不可变的:也就是说,一旦创建,File 对象表示的抽象路径名将永不改变. 1.File类中的方法 (1).File类的构造方法以及字段 1 new File(Stri

JAVA之IO技术相关Properties类 存储配置文件信息

package ioTest.io3; /* * Properties存储配置文件信息 * 1.文件信息--------------------------- * 2.根据文件信息获取key和value---|流| * 3.将key,value的之对应存储到properties对象中 */ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileOu

Java文件IO操作应该抛弃File拥抱Path和Files

Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem;import java.nio.file.FileSystems;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.nio.file.attribute.FileAt

JAVA之IO技术File类的使用

package ioTest.io3; /* * File类是对文件和文件夹的抽象. * File类的常见方法: * 1.创建 * createNewFile():在指定的位置创建文件,如果该文件已经存在,则不创建,返回false. * 和输出流对象不一样,输出流对象,只要已建立就创建,如果文件存在,则覆盖. * mkdir():创建此抽象路径名指定的目录 * mkdir():创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. * 2.删除 * delete() * deleteOnEx

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m