文件写入
以下实例演示了使用 write() 方法向文件写入内容
/* author by runoob.com Main.java */ import java.io.*; public class Main { public static void main(String[] args) { try { BufferedWriter out = new BufferedWriter(new FileWriter("runoob.txt")); out.write("菜鸟教程"); out.close(); System.out.println("文件创建成功!"); } catch (IOException e) { } }}
读取文件内容
以下实例演示了使用 readLine() 方法来读取文件 test.log 内容,其中 test.log 文件内容为:
菜鸟教程www.runoob.com
java 代码如下:
import java.io.*; public class Main { public static void main(String[] args) { try { BufferedReader in = new BufferedReader(new FileReader("test.log")); String str; while ((str = in.readLine()) != null) { System.out.println(str); } System.out.println(str); } catch (IOException e) { } }}
以上代码运行输出结果为:
菜鸟教程www.runoob.comnull
删除文件
以下实例演示了使用 delete() 方法将文件删除:
import java.io.*; public class Main{ public static void main(String[] args) { try{ File file = new File("c:\\test.txt"); if(file.delete()){ System.out.println(file.getName() + " 文件已被删除!"); }else{ System.out.println("文件删除失败!"); } }catch(Exception e){ e.printStackTrace(); } }}
将文件内容复制到另一个文件
以下实例演示了使用 BufferedWriter 类的 read 和 write 方法将文件内容复制到另一个文件:
import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedWriter out1 = new BufferedWriter(new FileWriter("srcfile")); out1.write("string to be copied\n"); out1.close(); InputStream in = new FileInputStream(new File("srcfile")); OutputStream out = new FileOutputStream (new File("destnfile")); byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); BufferedReader in1 = new BufferedReader(new FileReader("destnfile")); String str; while ((str = in1.readLine()) != null) { System.out.println(str); } in1.close(); }}
以上代码运行输出结果为:
string to be copied
向文件中追加数据
以下实例演示了使用 filewriter 方法向文件中追加数据:
import java.io.*; public class Main { public static void main(String[] args) throws Exception { try { BufferedWriter out = new BufferedWriter(new FileWriter("filename")); out.write("aString1\n"); out.close(); out = new BufferedWriter(new FileWriter("filename",true)); out.write("aString2"); out.close(); BufferedReader in = new BufferedReader(new FileReader("filename")); String str; while ((str = in.readLine()) != null) { System.out.println(str); } in.close(); } catch (IOException e) { System.out.println("exception occoured"+ e); } }}
以上代码运行输出结果为:
aString1aString2
创建临时文件
以下实例演示了使用 File 类的 createTempFile(String prefix, String suffix); 方法在默认临时目录来创建临时文件,参数 prefix 为前缀,suffix 为后缀:
import java.io.*; public class Main { public static void main(String[] args) throws Exception { File temp = File.createTempFile("testrunoobtmp", ".txt"); System.out.println("文件路径: "+temp.getAbsolutePath()); temp.deleteOnExit(); BufferedWriter out = new BufferedWriter(new FileWriter(temp)); out.write("aString"); System.out.println("临时文件已创建:"); out.close(); }}
也可以使用 createTempFile(String prefix, String suffix, File directory) 中的 directory 参数来指定临时文件的目录:
import java.io.File; public class Main { public static void main(String[] args) { File f = null; try { // 创建临时文件 f = File.createTempFile("tmp", ".txt", new File("C:/")); // 输出绝对路径 System.out.println("File path: "+f.getAbsolutePath()); // 终止后删除临时文件 f.deleteOnExit(); // 创建临时文件 f = File.createTempFile("tmp", null, new File("D:/")); // 输出绝对路径 System.out.print("File path: "+f.getAbsolutePath()); // 终止后删除临时文件 f.deleteOnExit(); } catch(Exception e) { // 如果有错误输出内容 e.printStackTrace(); } }}
修改文件最后的修改日期
以下实例演示了使用 File 类的 fileToChange.lastModified() 和 fileToChange setLastModified() 方法来修改文件最后的修改日期:
import java.io.File;import java.util.Date; public class Main { public static void main(String[] args) throws Exception { File fileToChange = new File("C:/myjavafile.txt"); fileToChange.createNewFile(); Date filetime = new Date(fileToChange.lastModified()); System.out.println(filetime.toString()); System.out.println(fileToChange.setLastModified(System.currentTimeMillis())); filetime = new Date(fileToChange.lastModified()); System.out.println(filetime.toString()); }}
以上代码运行输出结果为:
Sat Mar 21 22:00:48 CST 2015trueFri Apr 10 11:09:19 CST 2015
获取文件大小
以下实例演示了使用 File 类的 file.exists() 和 file.length() 方法来获取文件大小,以字节计算(1KB=1024字节 ):
import java.io.File; public class Main { public static long getFileSize(String filename) { File file = new File(filename); if (!file.exists() || !file.isFile()) { System.out.println("文件不存在"); return -1; } return file.length(); } public static void main(String[] args) { long size = getFileSize("c:/java.txt"); System.out.println("java.txt文件大小为: " + size); }}
以上代码运行输出结果为(java.txt 文件位于 C 盘):
java.txt文件大小为: 480
文件重命名
以下实例演示了使用 File 类的 oldName.renameTo(newName) 方法来重命名文件:
import java.io.File; public class Main { public static void main(String[] args) { File oldName = new File("C:/program.txt"); File newName = new File("C:/java.txt"); if(oldName.renameTo(newName)) { System.out.println("已重命名"); } else { System.out.println("Error"); } }}
设置文件只读
以下实例演示了使用 File 类的 file.setReadOnly() 和 file.canWrite() 方法来设置文件只读:
import java.io.File; public class Main { public static void main(String[] args) { File file = new File("C:/java.txt"); System.out.println(file.setReadOnly()); System.out.println(file.canWrite()); }}
以上代码运行输出结果为:
truefalse
检测文件是否存在
以下实例演示了使用 File 类的 file.exists() 方法来检测文件是否存在:
import java.io.File; public class Main { public static void main(String[] args) { File file = new File("C:/java.txt"); System.out.println(file.exists()); }}
在指定目录中创建文件
以下实例演示了使用 File 类的 file.createTempFile() 方法在指定目录中创建文件:
import java.io.File; public class Main { public static void main(String[] args) throws Exception { File file = null; File dir = new File("C:/"); file = File.createTempFile ("JavaTemp", ".javatemp", dir); System.out.println(file.getPath()); }}
以上代码运行输出结果为:
C:\JavaTemp37056.javatemp
获取文件修改时间
以下实例演示了使用 File 类的 file.lastModified() 方法来获取文件最后的修改时间
import java.io.File;import java.util.Date; public class Main { public static void main(String[] args) { File file = new File("Main.java"); Long lastModified = file.lastModified(); Date date = new Date(lastModified); System.out.println(date); }}
以上代码运行输出结果为:
Thu Apr 09 09:40:19 CST 2015
创建文件
以下实例演示了使用 File 类的 File() 构造函数和 file.createNewFile() 方法来创建一个新的文件
import java.io.File;import java.io.IOException; public class Main { public static void main(String[] args) { try{ File file = new File("C:/myfile.txt"); if(file.createNewFile()) System.out.println("文件创建成功!"); else System.out.println("出错了,该文件已经存在。"); } catch(IOException ioe) { ioe.printStackTrace(); } }}
以上代码运行输出结果为:
文件创建成功!
文件路径比较
以下实例演示了使用 File 类的 filename.compareTo (another filename) 方法来比较两个文件路径是否在同一个目录下:
import java.io.File; public class Main { public static void main(String[] args) { File file1 = new File("C:/File/demo1.txt"); File file2 = new File("C:/java/demo1.txt"); if(file1.compareTo(file2) == 0) { System.out.println("文件路径一致!"); } else { System.out.println("文件路径不一致!"); } }}
以上代码运行输出结果为:
文件路径不一致!