zoukankan      html  css  js  c++  java
  • java创建TXT文件并进行读、写、修改操作

     

    import java.io.*;


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

    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+ " ";
                    }

                }
     catch (IOException e) {
                    
    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }
     catch (FileNotFoundException e) {
                
    // TODO Auto-generated catch block
                e.printStackTrace();
            }


            System.out.println(
    "文件内容是:"+ " " + readStr);
            
    return readStr;
        }

        
        
    /**
         * 写文件.
         * 
         
    */

        
    public static void writeTxtFile(String newStr) throws IOException{
            
    //先读取原有文件内容,然后进行写入操作
            String filein = newStr + " " + readStr + " ";
            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(
    "20080808:12:13");
    //        ReadWriteFile.replaceTxtByStr("ken", "zhang");
        }

    }

    修改单个文件字符串

         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");//,进行替换我开始以为是 换行呢,不会还百度了。要换行" "
                    
                    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());
         }    
        }
     }



    life is a jounery,yes
  • 相关阅读:
    mongodb 聚类查询 筛选时间
    异步线程
    性能优化
    何谓引继(引继码,继承码)?了解引继同备份不同,请注意!
    apktool 无法识别 requestLegacyExternalStorage 属性导致回编失败
    Jenkins GIT_SSH组件权限导致build失败的问题。
    Linux下 Nginx-uWSGI-Django 搭建
    SSH scp使用
    Django创建app及创建数据库
    正则表达式
  • 原文地址:https://www.cnblogs.com/CaptainLin/p/3578175.html
Copyright © 2011-2022 走看看