博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 文件操作
阅读量:5259 次
发布时间:2019-06-14

本文共 8553 字,大约阅读时间需要 28 分钟。

文件写入

以下实例演示了使用 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) {        }    }}
View Code

读取文件内容

以下实例演示了使用 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) {        }    }}
View Code

以上代码运行输出结果为:

菜鸟教程www.runoob.comnull
View Code

删除文件

以下实例演示了使用 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();        }    }}
View Code

将文件内容复制到另一个文件

以下实例演示了使用 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();    }}
View Code

以上代码运行输出结果为:

string to be copied
View Code

向文件中追加数据

以下实例演示了使用 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);        }    }}
View Code

以上代码运行输出结果为:

aString1aString2
View Code

创建临时文件

以下实例演示了使用 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();    }}
View Code

也可以使用 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();      }   }}
View Code

修改文件最后的修改日期

以下实例演示了使用 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());    }}
View Code

以上代码运行输出结果为:

Sat Mar 21 22:00:48 CST 2015trueFri Apr 10 11:09:19 CST 2015
View Code

获取文件大小

以下实例演示了使用 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);    }}
View Code

以上代码运行输出结果为(java.txt 文件位于 C 盘):

java.txt文件大小为: 480
View Code

文件重命名

以下实例演示了使用 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");        }    }}
View Code

设置文件只读

以下实例演示了使用 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());    }}
View Code

以上代码运行输出结果为:

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());    }}
View Code

在指定目录中创建文件

以下实例演示了使用 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());    }}
View Code

以上代码运行输出结果为:

 

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);    }}
View Code

以上代码运行输出结果为:

 

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();        }    }}
View Code

以上代码运行输出结果为:

 

文件创建成功!

文件路径比较

以下实例演示了使用 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("文件路径不一致!");        }    }}
View Code

以上代码运行输出结果为:

 

文件路径不一致!

 

转载于:https://www.cnblogs.com/Mr-Feng/p/11376101.html

你可能感兴趣的文章
td下的div超出隐藏并居中
查看>>
分页查询
查看>>
第一阶段的Sprint计划会议
查看>>
Java中List, Integer[], int[]的相互转换
查看>>
LintCode 5.第k大元素
查看>>
[UE4]Set Skeletal Mesh,在蓝图中设置骨骼模型
查看>>
莫烦网-爬虫学习-代码记录
查看>>
MySQL的启动程序
查看>>
跨数据库访问
查看>>
Java读写文件方法总结
查看>>
【php】mysql全局ID生成方案
查看>>
随机数工具类
查看>>
struts2远程代码执行漏洞汇总整理
查看>>
根据访问属性进行差异化数据加载
查看>>
BZOJ.5461.[PKUWC2018]Minimax(DP 线段树合并)
查看>>
Xcode 官方下载地址 https://developer.apple.com/downloads/
查看>>
字节流与字符流复习
查看>>
OC循环方法推荐-块循环遍历(比for循环好用)
查看>>
cookie存在导致浏览器无法发送请求
查看>>
C#nameof用法
查看>>