文件的写入:
示例代码:
package com.gx.demo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test1 {
/**
* 保存写入内容到文件
* @param filepath 文件的位置
* @param content 文件的内容
* @param encoding 文件的编码
* @return
* 注意:这种写入只适用将内容写入空的目标文件,若是目标文件已有内容,将会被写入的内容覆盖,请慎用!
*/
public static boolean saveFile(String filepath, String content, String encoding) {
boolean flag = false;
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(new File(filepath));
fileOutputStream.write(content.getBytes(encoding));
fileOutputStream.close();
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println(flag);
return flag;
}
public static void main(String[] args) {
saveFile("F:\\aaaa.txt","这是测试文字","UTF-8");
}
}
文件的读取:
示例代码:
package com.gx.demo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class Test2 {
/**
* 获取指定文件的内容 filePath 文件的路径,注意要具体到文件,不能是文件夹
* @param filePath 文件路径
* @return
*/
public static String getFile(String filePath) {
File file = new File(filePath);// 注意要具体到文件,不能是文件夹
InputStreamReader read = null;
String content = "";// 临时容器,存储之前读取的内容
try {
read = new InputStreamReader(new FileInputStream(file), "UTF-8");
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
// 遍历读取的内容
while ((lineTxt = bufferedReader.readLine()) != null) {
// content=之前读取的内容+最后读取的内容
content = content + lineTxt + "\r\n";
// 上面这句若是不能理解,你看下面这句的效果就明白了
// content = lineTxt;
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (read != null) {
read.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println(content);// 打印内容到控制台
return content;
}
public static void main(String[] args) {
getFile("F:/aaaa.txt");
}
}
注意:
在Java编程过程中,如果打开了外部资源(文件、数据库连接、网络连接等),我们必须确保在这些外部资源使用完毕后,手动关闭它们。如果我们编程时没有在正确的时机获取忘记关闭外部资源,就会导致外部资源泄露,紧接着就会出现文件被异常占用,数据库连接过多导致连接池溢出等诸多严重的问题。所以我们在使用外部资源时,要养成关闭外部资源的习惯。