首页 > 代码库 > Java文件Io基础

Java文件Io基础

本文为java文件应用中一些基础知识的例子和总结,仅供参考

File file2 = new File("D:/test.txt");//创建文件对象,File类中的构造方法中的参数为字符串,表示的是文件的地址,其中,在绝对路径中,磁盘的编号后的斜杆可以为“\\”Windows系统中路径标识),也可以为“/”(跨平台)。

制定路径之下创建的文件对象,不代表着该路径之下有这个文件,也就是说File对象无关实际文件的位置。

可以通过File.exists()方法来确定指定文件路径下创建的文件对象是否真实存在,若不存在,通过file2.createNewFile();语句来创建文件。

 

BufferedWriter文件写:

先创建文件写对象:FileWriter fw = new FileWriter(file2);,构造方法中的参数为文件对象。

然后创建文件写缓冲:BufferedWriter bw = new BufferedWriter(fw);

最后通过文件写缓冲对象的writer()方法实现文件写:bw.write(string);

值得注意的是,使用BufferedWriter.write()方法写文件时,文件写操作时覆盖的而不是追加,也就是说,本次的文件写操作的内容会覆盖文件中所有内容。

在文件写操作结束时,记住要将文件写缓冲关闭掉:bw.close();

 

BufferedReader文件读:

fr = new FileReader(file2);

BufferedReader br = new BufferedReader(fr);

System.out.println(br.readLine());

br.close();

基本上与文件写类似,文件读对最后缓冲是否关闭没有要求(最好关闭),而且读文件时使用的是BufferedReader.readLine()方法进行逐行读。

值得注意的是:若在readLine方法前调用了BufferedReader.read()方法时,readLine方法返回的字符串会漏掉第一个字符,因为read方法已经将其读出来了。

BufferedReader.read()方法返回的是读文件操作时读到的那一行的第一个字符对应的Ascll码值。

以下为代码片段

File file = new File(".");		System.out.println(file.getName());		System.out.println(file.getParent());		File file2 = new File("D:/test.txt");		System.out.println(file2.getName());//获取文件名		System.out.println(file2.getParent());//获取文件上级目录名		if (!file2.exists())			try {				file2.createNewFile();			} catch (IOException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		String time = String.valueOf(System.currentTimeMillis());//System.currentTimeMillis()方法返回的是距离1970年1月1日的毫秒数		FileWriter fw;		FileReader fr;		try {			fw = new FileWriter(file2);			BufferedWriter bw = new BufferedWriter(fw);			bw.write(time);			bw.close();			fr = new FileReader(file2);			BufferedReader br = new BufferedReader(fr);			System.out.println(br.readLine());			br.close();		} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		System.out.println(time);	}


 

Java文件Io基础