首页 > 其他 > 详细

java创建TXT文件并进行读、写、修改操作

时间:2014-03-03 23:59:45      阅读:772      评论:0      收藏:0      [点我收藏+]

 

bubuko.com,布布扣import java.io.*;
bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣
/**
bubuko.com,布布扣 * 
bubuko.com,布布扣 * 功能描述:创建TXT文件并进行读、写、修改操作
bubuko.com,布布扣 *      
bubuko.com,布布扣 * 
@author <a href="mailto:zhanghhui@126.com">KenZhang</a>
bubuko.com,布布扣 * 
@version 1.0 
bubuko.com,布布扣 * Creation date: 2007-12-18 - 下午06:48:45
bubuko.com,布布扣 
*/

bubuko.com,布布扣
public class ReadWriteFile {
bubuko.com,布布扣    
public static BufferedReader bufread;
bubuko.com,布布扣    
//指定文件路径和名称
bubuko.com,布布扣
    private static String path = "D:/suncity.txt";
bubuko.com,布布扣    
private static  File filename = new File(path);
bubuko.com,布布扣    
private static String readStr ="";
bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣    
/**
bubuko.com,布布扣     * 创建文本文件.
bubuko.com,布布扣     * 
@throws IOException 
bubuko.com,布布扣     * 
bubuko.com,布布扣     
*/

bubuko.com,布布扣    
public static void creatTxtFile() throws IOException{
bubuko.com,布布扣        
if (!filename.exists()) {
bubuko.com,布布扣            filename.createNewFile();
bubuko.com,布布扣            System.err.println(filename 
+ "已创建!");
bubuko.com,布布扣        }

bubuko.com,布布扣    }

bubuko.com,布布扣    
bubuko.com,布布扣    
/**
bubuko.com,布布扣     * 读取文本文件.
bubuko.com,布布扣     * 
bubuko.com,布布扣     
*/

bubuko.com,布布扣    
public static String readTxtFile(){
bubuko.com,布布扣        String read;
bubuko.com,布布扣        FileReader fileread;
bubuko.com,布布扣        
try {
bubuko.com,布布扣            fileread 
= new FileReader(filename);
bubuko.com,布布扣            bufread 
= new BufferedReader(fileread);
bubuko.com,布布扣            
try {
bubuko.com,布布扣                
while ((read = bufread.readLine()) != null{
bubuko.com,布布扣                    readStr 
= readStr + read+ "\r\n";
bubuko.com,布布扣                }

bubuko.com,布布扣            }
 catch (IOException e) {
bubuko.com,布布扣                
// TODO Auto-generated catch block
bubuko.com,布布扣
                e.printStackTrace();
bubuko.com,布布扣            }

bubuko.com,布布扣        }
 catch (FileNotFoundException e) {
bubuko.com,布布扣            
// TODO Auto-generated catch block
bubuko.com,布布扣
            e.printStackTrace();
bubuko.com,布布扣        }

bubuko.com,布布扣
bubuko.com,布布扣        System.out.println(
"文件内容是:"+ "\r\n" + readStr);
bubuko.com,布布扣        
return readStr;
bubuko.com,布布扣    }

bubuko.com,布布扣    
bubuko.com,布布扣    
/**
bubuko.com,布布扣     * 写文件.
bubuko.com,布布扣     * 
bubuko.com,布布扣     
*/

bubuko.com,布布扣    
public static void writeTxtFile(String newStr) throws IOException{
bubuko.com,布布扣        
//先读取原有文件内容,然后进行写入操作
bubuko.com,布布扣
        String filein = newStr + "\r\n" + readStr + "\r\n";
bubuko.com,布布扣        RandomAccessFile mm 
= null;
bubuko.com,布布扣        
try {
bubuko.com,布布扣            mm 
= new RandomAccessFile(filename, "rw");
bubuko.com,布布扣            mm.writeBytes(filein);
bubuko.com,布布扣        }
 catch (IOException e1) {
bubuko.com,布布扣            
// TODO 自动生成 catch 块
bubuko.com,布布扣
            e1.printStackTrace();
bubuko.com,布布扣        }
 finally {
bubuko.com,布布扣            
if (mm != null{
bubuko.com,布布扣                
try {
bubuko.com,布布扣                    mm.close();
bubuko.com,布布扣                }
 catch (IOException e2) {
bubuko.com,布布扣                    
// TODO 自动生成 catch 块
bubuko.com,布布扣
                    e2.printStackTrace();
bubuko.com,布布扣                }

bubuko.com,布布扣            }

bubuko.com,布布扣        }

bubuko.com,布布扣    }

bubuko.com,布布扣    
bubuko.com,布布扣    
/**
bubuko.com,布布扣     * 将文件中指定内容的第一行替换为其它内容.
bubuko.com,布布扣     * 
bubuko.com,布布扣     * 
@param oldStr
bubuko.com,布布扣     *            查找内容
bubuko.com,布布扣     * 
@param replaceStr
bubuko.com,布布扣     *            替换内容
bubuko.com,布布扣     
*/

bubuko.com,布布扣    
public static void replaceTxtByStr(String oldStr,String replaceStr) {
bubuko.com,布布扣        String temp 
= "";
bubuko.com,布布扣        
try {
bubuko.com,布布扣            File file 
= new File(path);
bubuko.com,布布扣            FileInputStream fis 
= new FileInputStream(file);
bubuko.com,布布扣            InputStreamReader isr 
= new InputStreamReader(fis);
bubuko.com,布布扣            BufferedReader br 
= new BufferedReader(isr);
bubuko.com,布布扣            StringBuffer buf 
= new StringBuffer();
bubuko.com,布布扣
bubuko.com,布布扣            
// 保存该行前面的内容
bubuko.com,布布扣
            for (int j = 1; (temp = br.readLine()) != null
bubuko.com,布布扣                    
&& !temp.equals(oldStr); j++{
bubuko.com,布布扣                buf 
= buf.append(temp);
bubuko.com,布布扣                buf 
= buf.append(System.getProperty("line.separator"));
bubuko.com,布布扣            }

bubuko.com,布布扣
bubuko.com,布布扣            
// 将内容插入
bubuko.com,布布扣
            buf = buf.append(replaceStr);
bubuko.com,布布扣
bubuko.com,布布扣            
// 保存该行后面的内容
bubuko.com,布布扣
            while ((temp = br.readLine()) != null{
bubuko.com,布布扣                buf 
= buf.append(System.getProperty("line.separator"));
bubuko.com,布布扣                buf 
= buf.append(temp);
bubuko.com,布布扣            }

bubuko.com,布布扣
bubuko.com,布布扣            br.close();
bubuko.com,布布扣            FileOutputStream fos 
= new FileOutputStream(file);
bubuko.com,布布扣            PrintWriter pw 
= new PrintWriter(fos);
bubuko.com,布布扣            pw.write(buf.toString().toCharArray());
bubuko.com,布布扣            pw.flush();
bubuko.com,布布扣            pw.close();
bubuko.com,布布扣        }
 catch (IOException e) {
bubuko.com,布布扣            e.printStackTrace();
bubuko.com,布布扣        }

bubuko.com,布布扣    }

bubuko.com,布布扣    
/**
bubuko.com,布布扣     * main方法测试
bubuko.com,布布扣     * 
@param s
bubuko.com,布布扣     * 
@throws IOException
bubuko.com,布布扣     
*/

bubuko.com,布布扣    
public static void main(String[] s) throws IOException {
bubuko.com,布布扣        ReadWriteFile.creatTxtFile();
bubuko.com,布布扣        ReadWriteFile.readTxtFile();
bubuko.com,布布扣        ReadWriteFile.writeTxtFile(
"20080808:12:13");
bubuko.com,布布扣
//        ReadWriteFile.replaceTxtByStr("ken", "zhang");
bubuko.com,布布扣
    }

bubuko.com,布布扣}

 

 

修改单个文件字符串

     String s="";
            try{
                   FileInputStream fis=new FileInputStream("/home/liu_yin/Android/apktool1.5.2/javatest");//从d:\\1\\3.txt");读出内容到s
                   byte[]b=new byte[1024];
                  
                   while(true){
                       int i=fis.read(b);
                       if(i==-1)break;
                       s=s+new String(b,0,i);
                   }
                   fis.close();
                }catch(Exception e){
                    e.printStackTrace();
                }
                s=s.replaceAll("LogUtil", "//LogUtil");//,进行替换我开始以为是 换行呢,不会还百度了。要换行"\r\n"
                
                try{
                    FileOutputStream fos=new FileOutputStream("/home/liu_yin/Android/apktool1.5.2/javatest",false);//true原有续写,false是追加。如果源文件不存在就新建了
                    fos.write(s.getBytes());
                    fos.close();
                }catch(Exception e){
                    e.printStackTrace();
                }
       

 

 

遍历文件夹下的所有文件

 

 static void getFiles(String filePath){
  File root = new File(filePath);
    File[] files = root.listFiles();
    for(File file:files){    
     if(file.isDirectory()){
      /*
       * 递归调用
       */
      getFiles(file.getAbsolutePath());
      filelist.add(file.getAbsolutePath());
      System.out.println("显示"+filePath+"下所有子目录及其文件"+file.getAbsolutePath());
     }else{
      System.out.println("显示"+filePath+"下所有子目录"+file.getAbsolutePath());
     }    
    }
 }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


bubuko.com,布布扣
bubuko.com,布布扣

java创建TXT文件并进行读、写、修改操作,布布扣,bubuko.com

java创建TXT文件并进行读、写、修改操作

原文:http://www.cnblogs.com/CaptainLin/p/3578175.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!