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