Java文件Io基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010287342/article/details/41349779

本文为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);
	}


 

猜你喜欢

转载自blog.csdn.net/u010287342/article/details/41349779
今日推荐