- import java.io.*;
- /**
- *
- * 功能描述:创建TXT文件并进行读、写、修改操作
- * @version 1.0
- */
- public class ReadWriteFile {
- public static BufferedReader bufread;
- //指定文件路径和名称
- private static String path = "D:/suncity.txt";
- private static File filename = new File(path);
- private static String readStr ="";
- /**
- * 创建文本文件.
- * @throws IOException
- *
- */
- public static void creatTxtFile() throws IOException{
- if (!filename.exists()) {
- filename.createNewFile();
- System.err.println(filename + "已创建!");
- }
- }
- /**
- * 读取文本文件.
- *
- */
- public static String readTxtFile(){
- String read;
- FileReader fileread;
- try {
- fileread = new FileReader(filename);
- bufread = new BufferedReader(fileread);
- try {
- while ((read = bufread.readLine()) != null) {
- readStr = readStr + read+ "\r\n";
- }
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println("文件内容是:"+ "\r\n" + readStr);
- return readStr;
- }
- /**
- * 写文件.
- *
- */
- public static void writeTxtFile(String newStr) throws IOException{
- //先读取原有文件内容,然后进行写入操作
- String filein = newStr + "\r\n" + readStr + "\r\n";
- RandomAccessFile mm = null;
- try {
- mm = new RandomAccessFile(filename, "rw");
- mm.writeBytes(filein);
- } catch (IOException e1) {
- // TODO 自动生成 catch 块
- e1.printStackTrace();
- } finally {
- if (mm != null) {
- try {
- mm.close();
- } catch (IOException e2) {
- // TODO 自动生成 catch 块
- e2.printStackTrace();
- }
- }
- }
- }
- /**
- * 将文件中指定内容的第一行替换为其它内容.
- *
- * @param oldStr
- * 查找内容
- * @param replaceStr
- * 替换内容
- */
- public static void replaceTxtByStr(String oldStr,String replaceStr) {
- String temp = "";
- try {
- File file = new File(path);
- FileInputStream fis = new FileInputStream(file);
- InputStreamReader isr = new InputStreamReader(fis);
- BufferedReader br = new BufferedReader(isr);
- StringBuffer buf = new StringBuffer();
- // 保存该行前面的内容
- for (int j = 1; (temp = br.readLine()) != null
- && !temp.equals(oldStr); j++) {
- buf = buf.append(temp);
- buf = buf.append(System.getProperty("line.separator"));
- }
- // 将内容插入
- buf = buf.append(replaceStr);
- // 保存该行后面的内容
- while ((temp = br.readLine()) != null) {
- buf = buf.append(System.getProperty("line.separator"));
- buf = buf.append(temp);
- }
- br.close();
- FileOutputStream fos = new FileOutputStream(file);
- PrintWriter pw = new PrintWriter(fos);
- pw.write(buf.toString().toCharArray());
- pw.flush();
- pw.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- /**
- * main方法测试
- * @param s
- * @throws IOException
- */
- public static void main(String[] s) throws IOException {
- ReadWriteFile.creatTxtFile();
- ReadWriteFile.readTxtFile();
- ReadWriteFile.writeTxtFile("20130506:12:00");
- ReadWriteFile.replaceTxtByStr("zehui", "zhou");
- }
- }