<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    問征夫以前路
    感謝所有關(guān)心過(guò)支持過(guò)我的人, 感謝所有恨過(guò)我嘲笑過(guò)我的人 !
    posts - 30,comments - 147,trackbacks - 0

            這周忙的連滾帶爬的,終于在周末前把項(xiàng)目完工了。這次主要做的是一個(gè)UDP協(xié)議的轉(zhuǎn)發(fā)器,是一個(gè)純java寫的程序,沒有任何的框架在里面。其中為了保留住傳進(jìn)來(lái)的數(shù)據(jù),我們用TXT文本記錄下這些數(shù)據(jù)。文件代碼傳上來(lái),需要的朋友直接下載就可以用。

    import java.io.*;


    /**
     * 
     * 功能描述:創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
     *      
     * 
    @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 ="";


        
    /**
         * 創(chuàng)建文本文件.
         * 
    @throws IOException 
         * 
         
    */

        
    public static void creatTxtFile() throws IOException{
            
    if (!filename.exists()) {
                filename.createNewFile();
                System.err.println(filename 
    + "已創(chuàng)建!");
            }

        }

        
        
    /**
         * 讀取文本文件.
         * 
         
    */

        
    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(
    "文件內(nèi)容是:"+ "\r\n" + readStr);
            
    return readStr;
        }

        
        
    /**
         * 寫文件.
         * 
         
    */

        
    public static void writeTxtFile(String newStr) throws IOException{
            
    //先讀取原有文件內(nèi)容,然后進(jìn)行寫入操作
            String filein = newStr + "\r\n" + readStr + "\r\n";
            RandomAccessFile mm 
    = null;
            
    try {
                mm 
    = new RandomAccessFile(filename, "rw");
                mm.writeBytes(filein);
            }
     catch (IOException e1) {
                
    // TODO 自動(dòng)生成 catch 塊
                e1.printStackTrace();
            }
     finally {
                
    if (mm != null{
                    
    try {
                        mm.close();
                    }
     catch (IOException e2) {
                        
    // TODO 自動(dòng)生成 catch 塊
                        e2.printStackTrace();
                    }

                }

            }

        }

        
        
    /**
         * 將文件中指定內(nèi)容的第一行替換為其它內(nèi)容.
         * 
         * 
    @param oldStr
         *            查找內(nèi)容
         * 
    @param replaceStr
         *            替換內(nèi)容
         
    */

        
    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();

                
    // 保存該行前面的內(nèi)容
                for (int j = 1; (temp = br.readLine()) != null
                        
    && !temp.equals(oldStr); j++{
                    buf 
    = buf.append(temp);
                    buf 
    = buf.append(System.getProperty("line.separator"));
                }


                
    // 將內(nèi)容插入
                buf = buf.append(replaceStr);

                
    // 保存該行后面的內(nèi)容
                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方法測(cè)試
         * 
    @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");
        }

    }



    posted on 2007-12-21 16:46 kenzhang 閱讀(75898) 評(píng)論(17)  編輯  收藏

    FeedBack:
    # 發(fā)布代碼時(shí),怎么實(shí)現(xiàn)可伸縮節(jié)點(diǎn)[未登錄]
    2007-12-22 00:34 | johnsdilon
    我是blogjava的新用戶,想問個(gè)弱弱的問題:在blogjava上發(fā)布文章時(shí),怎么發(fā)布代碼,實(shí)現(xiàn)函數(shù)節(jié)點(diǎn)可伸縮。

    先謝過(guò)了哈!  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2007-12-22 12:39 | 凌晨風(fēng)
    @johnsdilon
    插入代碼就可以了啊  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2007-12-22 15:22 | 冷面閻羅
    我之前也寫過(guò)一個(gè)程序,實(shí)現(xiàn)的功能比這個(gè)多了。
    不過(guò)感覺寫這樣的程序還是vc比較方便  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作[未登錄]
    2007-12-22 21:37 | johnsdilon
    謝謝,呵呵  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2007-12-23 10:07 | aSTAmEI
    不錯(cuò)不錯(cuò)
    要是加上文字編碼的相關(guān)部分就好了,
    不然各種系統(tǒng)編碼下會(huì)有問題的
      回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2007-12-24 08:37 | kenzhang
    @冷面閻羅
    VC,java,各有千秋!呵呵  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2007-12-24 08:41 | kenzhang
    @aSTAmEI
    這個(gè)文件只是用來(lái)存儲(chǔ)數(shù)字和英文,沒有存儲(chǔ)中文的需求,所以就沒做。
    呵呵,慚愧的是這個(gè)程序好像寫入中文后,讀出來(lái)的是亂碼。
      回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作[未登錄]
    2008-01-10 11:59 | 樂樂
    真好人啊  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2008-07-29 00:23 | wen870105@163.com
    好像流沒有關(guān)閉吧
    呵呵  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2008-08-23 14:44 | tom_jack
    這樣修改好像挺費(fèi)資源的,如果文件非常的大,然而僅僅是為了修改幾個(gè)單詞,那豈不是讀半天,能有直接定位的辦法么  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2008-08-29 00:40 | 風(fēng)葉
    還有2個(gè)流沒關(guān)閉 不會(huì)有事吧 ??  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作[未登錄]
    2008-12-25 09:09 | ls
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2012-02-20 10:55 | jurs
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2013-04-28 13:12 | 本人純屬虛構(gòu)
    FileOutputStream fos = new FileOutputStream(file);
    PrintWriter pw = new PrintWriter(fos);
    pw.write(buf.toString().toCharArray());
    pw.flush();
    pw.close();


    fos 沒關(guān)閉。
    操作頻繁的東西 這樣的細(xì)節(jié)不注意 會(huì)出大問題  回復(fù)  更多評(píng)論
      
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作
    2014-01-13 22:33 | sfd
    # re: java創(chuàng)建TXT文件并進(jìn)行讀、寫、修改操作[未登錄]
    2014-08-05 16:40 | 小熊
    mm.writeBytes(filein);
    改成 mm.write(filein.getBytes());亂碼 就解決了  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产香蕉免费精品视频| 久久亚洲精品无码AV红樱桃| 亚洲.国产.欧美一区二区三区| 777成影片免费观看| 亚洲午夜福利717| 特级av毛片免费观看| 日韩免费a级在线观看| 亚洲人成77777在线观看网| 9277手机在线视频观看免费| 亚洲AV无码乱码在线观看富二代| 一级毛片在线播放免费| 国产一区二区免费在线| 亚洲熟妇AV一区二区三区宅男| 成人免费激情视频| 亚洲综合无码一区二区三区| 午夜视频免费在线观看| 亚洲av无码专区国产乱码在线观看 | 亚洲成人动漫在线观看| 日韩人妻一区二区三区免费| 国产成人精品日本亚洲| 在线观看肉片AV网站免费| 国产av天堂亚洲国产av天堂| 国产成人无码免费看片软件| 又粗又硬又大又爽免费视频播放| 亚洲AV无码男人的天堂| 欧洲美熟女乱又伦免费视频| 亚洲日韩一区二区一无码| 毛片A级毛片免费播放| 亚洲成人激情小说| 久久久久国产精品免费免费搜索| 亚洲国产人成在线观看| h视频在线观看免费网站| 亚洲第一成年网站大全亚洲| 免费在线视频你懂的| 亚洲伊人久久大香线蕉| 国产桃色在线成免费视频| 亚洲欧洲日本在线观看| 色吊丝永久在线观看最新免费| 亚洲а∨精品天堂在线| 免费国产人做人视频在线观看| 免费人人潮人人爽一区二区 |