Java 文件操作一(写文件、按行读文件、删除文件、复制文件、追加数据、创建临时文件、修改最后修改日期、获取文件大小)
2023-09-11 14:14:47 时间
文件写入
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("sanguo.txt"));
out.write("三国教程");
out.close();
System.out.println("文件创建成功!");
} catch (IOException e) {
}
}
}
以上代码运行输出结果为:
文件创建成功!
读取文件内容
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) {
}
}
}
以上代码运行输出结果为:
111
222
333
删除文件
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();
}
}
}
以上代码运行输出结果为(需要在 C 盘上先创建 test.txt 文件):
test.txt 文件已被删除!
将文件内容复制到另一个文件
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
向文件中追加数据
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);
}
}
}
以上代码运行输出结果为:
aString1
aString2
创建临时文件
//默认临时路径
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();
}
}
// 指定临时路径
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();
}
}
}
修改文件最后的修改日期
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 2015
true
Fri Apr 10 11:09:19 CST 2015
获取文件大小
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
相关文章
- java 获取某路径下的子文件/子路径
- Java 读写锁 ReadWriteLock 原理与应用场景详解
- Java NIO系列教程(四) Scatter/Gather
- 《Java程序设计》第16周周四:GUI编程及文件对话框的使用
- Java条件语句详解(Java必备知识)
- Java RESTful Web Service实战(第2版) 1.2 解读REST服务
- Java 6 JVM参数选项大全(中文版)
- Java Reflection(九):泛型
- 改写java TreeMap制造方便查询的ip内存库
- 面试复盘 常见面试题 正则表达式 验证邮箱 Java 1-100万整数全部随机生成不重复 遍历一个文件夹下所有的文件和子文件 数据库查询班级最高分 创建一个学生表,记录学生父母名字
- Java面试集合(五)
- 第七节:详细讲解Java中的日期,java.util.date
- Java 内存模型 ,一篇就够了!
- 解决java中按照数字大小来排序文件
- Java中toArray的用法探究(java数组与list转换)
- Clubhouse后端采用是什么技术呢?PHP还是Java
- Java的内存回收机制详解X
- Java学习-011-创建文件实例及源代码
- Java集合细节(四):保持compareTo和equals同步
- java Socket Tcp示例三则(服务端处理数据、上传文件)
- java IO流之文件切割两例(含Properties 用法)
- java中怎么读取properties文件里的信息
- java删除指定文件夹或者文件
- Java Zip文件解压缩
- 笨鸟先飞之Java(一)--使用struts2框架实现文件上传
- 新秀翻译(一个)——Java在继承和组合
- 史上最详细版!java文件打包成exe,在未配置安装JDK和未配置的电脑上运行--转载
- java-常见问题
- 国产化服务器信创平台ARM架构服务器适配安装编译,包括Java的JDK、在线文件预览kkfileview和LibreOffice的编译、打包、使用,主要包括银河麒麟操作系统和鲲鹏ARM操作系统
- java 内部类和静态内部类的区别
- Java使用aspose把PDF文件转换成PNG文件,以及把PDF文件水印转换成PNG格式
- 解决Java使用response下载文件报错,并总结可能出错的原因: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。