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

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

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

    ゞ沉默是金ゞ

    魚離不開水,但是沒有說不離開哪滴水.
    posts - 98,comments - 104,trackbacks - 0
    讀取文件實例
    package org.duke.java.util;

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.RandomAccessFile;
    import java.io.Reader;

    public class ReadFromFile {
        
    /**
         * 以字節(jié)為單位讀取文件,常用于讀二進制文件,如圖片、聲音、影像等文件。
         
    */

        
    public static void readFileByBytes(String fileName) {
            File file 
    = new File(fileName);
            InputStream in 
    = null;
            
    try {
                System.out.println(
    "以字節(jié)為單位讀取文件內(nèi)容,一次讀一個字節(jié):");
                
    // 一次讀一個字節(jié)
                in = new FileInputStream(file);
                
    int tempbyte;
                
    while ((tempbyte = in.read()) != -1{
                    System.out.write(tempbyte);
                }

                in.close();
            }
     catch (IOException e) {
                e.printStackTrace();
                
    return;
            }

            
    try {
                System.out.println(
    "以字節(jié)為單位讀取文件內(nèi)容,一次讀多個字節(jié):");
                
    // 一次讀多個字節(jié)
                byte[] tempbytes = new byte[100];
                
    int byteread = 0;
                in 
    = new FileInputStream(fileName);
                ReadFromFile.showAvailableBytes(in);
                
    // 讀入多個字節(jié)到字節(jié)數(shù)組中,byteread為一次讀入的字節(jié)數(shù)
                while ((byteread = in.read(tempbytes)) != -1{
                    System.out.write(tempbytes, 
    0, byteread);
                }

            }
     catch (Exception e1) {
                e1.printStackTrace();
            }
     finally {
                
    if (in != null{
                    
    try {
                        in.close();
                    }
     catch (IOException e1) {
                    }

                }

            }

        }


        
    /**
         * 以字符為單位讀取文件,常用于讀文本,數(shù)字等類型的文件
         
    */

        
    public static void readFileByChars(String fileName) {
            File file 
    = new File(fileName);
            Reader reader 
    = null;
            
    try {
                System.out.println(
    "以字符為單位讀取文件內(nèi)容,一次讀一個字節(jié):");
                
    // 一次讀一個字符
                reader = new InputStreamReader(new FileInputStream(file));
                
    int tempchar;
                
    while ((tempchar = reader.read()) != -1{
                    
    // 對于windows下,\r\n這兩個字符在一起時,表示一個換行。
                    
    // 但如果這兩個字符分開顯示時,會換兩次行。
                    
    // 因此,屏蔽掉\r,或者屏蔽\n。否則,將會多出很多空行。
                    if (((char) tempchar) != '\r'{
                        System.out.print((
    char) tempchar);
                    }

                }

                reader.close();
            }
     catch (Exception e) {
                e.printStackTrace();
            }

            
    try {
                System.out.println(
    "以字符為單位讀取文件內(nèi)容,一次讀多個字節(jié):");
                
    // 一次讀多個字符
                char[] tempchars = new char[30];
                
    int charread = 0;
                reader 
    = new InputStreamReader(new FileInputStream(fileName));
                
    // 讀入多個字符到字符數(shù)組中,charread為一次讀取字符數(shù)
                while ((charread = reader.read(tempchars)) != -1{
                    
    // 同樣屏蔽掉\r不顯示
                    if ((charread == tempchars.length) && (tempchars[tempchars.length - 1!= '\r')) {
                        System.out.print(tempchars);
                    }
     else {
                        
    for (int i = 0; i < charread; i++{
                            
    if (tempchars[i] == '\r'{
                                
    continue;
                            }
     else {
                                System.out.print(tempchars[i]);
                            }

                        }

                    }

                }


            }
     catch (Exception e1) {
                e1.printStackTrace();
            }
     finally {
                
    if (reader != null{
                    
    try {
                        reader.close();
                    }
     catch (IOException e1) {
                    }

                }

            }

        }


        
    /**
         * 以行為單位讀取文件,常用于讀面向行的格式化文件
         
    */

        
    public static void readFileByLines(String fileName) {
            File file 
    = new File(fileName);
            BufferedReader reader 
    = null;
            
    try {
                System.out.println(
    "以行為單位讀取文件內(nèi)容,一次讀一整行:");
                reader 
    = new BufferedReader(new FileReader(file));
                String tempString 
    = null;
                
    int line = 1;
                
    // 一次讀入一行,直到讀入null為文件結束
                while ((tempString = reader.readLine()) != null{
                    
    // 顯示行號
                    System.out.println("line " + line + "" + tempString);
                    line
    ++;
                }

                reader.close();
            }
     catch (IOException e) {
                e.printStackTrace();
            }
     finally {
                
    if (reader != null{
                    
    try {
                        reader.close();
                    }
     catch (IOException e1) {
                    }

                }

            }

        }


        
    /**
         * 隨機讀取文件內(nèi)容
         
    */

        
    public static void readFileByRandomAccess(String fileName) {
            RandomAccessFile randomFile 
    = null;
            
    try {
                System.out.println(
    "隨機讀取一段文件內(nèi)容:");
                
    // 打開一個隨機訪問文件流,按只讀方式
                randomFile = new RandomAccessFile(fileName, "r");
                
    // 文件長度,字節(jié)數(shù)
                long fileLength = randomFile.length();
                
    // 讀文件的起始位置
                int beginIndex = (fileLength > 4? 4 : 0;
                
    // 將讀文件的開始位置移到beginIndex位置。
                randomFile.seek(beginIndex);
                
    byte[] bytes = new byte[10];
                
    int byteread = 0;
                
    // 一次讀10個字節(jié),如果文件內(nèi)容不足10個字節(jié),則讀剩下的字節(jié)。
                
    // 將一次讀取的字節(jié)數(shù)賦給byteread
                while ((byteread = randomFile.read(bytes)) != -1{
                    System.out.write(bytes, 
    0, byteread);
                }

            }
     catch (IOException e) {
                e.printStackTrace();
            }
     finally {
                
    if (randomFile != null{
                    
    try {
                        randomFile.close();
                    }
     catch (IOException e1) {
                    }

                }

            }

        }


        
    /**
         * 顯示輸入流中還剩的字節(jié)數(shù)
         
    */

        
    private static void showAvailableBytes(InputStream in) {
            
    try {
                System.out.println(
    "當前字節(jié)輸入流中的字節(jié)數(shù)為:" + in.available());
            }
     catch (IOException e) {
                e.printStackTrace();
            }

        }


        
    public static vo id main(String[] args) {
            String fileName 
    = "C:/Shawn/test.txt";
            ReadFromFile.readFileByBytes(fileName);
            ReadFromFile.readFileByChars(fileName);
            ReadFromFile.readFileByLines(fileName);
            ReadFromFile.readFileByRandomAccess(fileName);
        }

    }

    posted on 2012-07-03 19:07 ゞ沉默是金ゞ 閱讀(796) 評論(0)  編輯  收藏 所屬分類: Java SE
    主站蜘蛛池模板: 国产99视频精品免费观看7| j8又粗又长又硬又爽免费视频| 国产一精品一AV一免费| 亚洲国产婷婷综合在线精品| 久久亚洲欧美国产精品| 免费一区二区三区四区五区| 亚洲大码熟女在线观看| 国产无遮挡吃胸膜奶免费看视频| 亚洲精品一卡2卡3卡四卡乱码| 91情侣在线精品国产免费| 亚洲一区二区三区在线观看网站| 无码国产精品一区二区免费| 天天爽亚洲中文字幕| 国产桃色在线成免费视频| 欧洲 亚洲 国产图片综合| 国产精品免费看久久久久| 搜日本一区二区三区免费高清视频| 亚洲视频人成在线播放| a级毛片免费完整视频| 老色鬼久久亚洲AV综合| A在线观看免费网站大全| 精品国产亚洲AV麻豆| 亚洲深深色噜噜狠狠爱网站| 中文字幕天天躁日日躁狠狠躁免费| 激情综合亚洲色婷婷五月APP| 日本人护士免费xxxx视频| 国产免费久久精品丫丫| 99久久亚洲精品无码毛片| 女人18特级一级毛片免费视频| 杨幂最新免费特级毛片| 亚洲2022国产成人精品无码区 | 欧亚一级毛片免费看| 亚洲精品国产美女久久久| 免费看h片的网站| WWW国产亚洲精品久久麻豆| 亚洲精品午夜无码电影网| 91精品免费在线观看| 美女被吸屁股免费网站| 亚洲国产成人精品不卡青青草原| 我要看WWW免费看插插视频| 中文在线免费观看|