• java读取文件


      1 java8读取文本文件
      2 
      3         
      4     public static void java8ReadFileLines(String fileName) throws IOException {
      5         List lineList = Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8);
      6 
      7         for(String line:lineList){
      8             System.out.println(line);
      9         }
     10     }    
     11     
     12         
     13         
     14 一行一行地读取文件
     15 
     16 
     17     public static void readFileByLines(String fileName) {
     18         File file = new File(fileName);
     19         BufferedReader reader = null;
     20         try {
     21             reader = new BufferedReader(new FileReader(file));
     22             String line = null;
     23             while((line=reader.readLine())!=null ) {
     24                 System.out.println(line);
     25             }
     26         }catch (IOException e) {
     27 
     28         }finally {
     29             if(reader!=null) {
     30                 try{
     31                     reader.close();
     32                 }catch (IOException e) {
     33                     ;
     34                 }
     35             }
     36         }
     37     }    
     38     
     39     
     40     
     41 一次读取多个字符
     42 
     43 
     44     public static void readFileByMultiChars(String fileName) {
     45         File file = new File(fileName);
     46         try{
     47             InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file));
     48 
     49             char[] tempChars = new char[30];
     50 
     51             int readCount = 0;
     52             while((readCount=inputStreamReader.read(tempChars))!=-1) {
     53                 if(readCount==tempChars.length) {
     54                     System.out.println(tempChars);
     55                 }else{
     56                     System.out.println(Arrays.copyOf(tempChars, readCount));
     57                 }
     58             }
     59 
     60 
     61             inputStreamReader.close();
     62         }catch(Exception e) {
     63             e.printStackTrace();
     64         }
     65     }    
     66 
     67 
     68         
     69 一个字符一个字符地读取
     70 
     71 
     72     public static void readFileByChars(String fileName) {
     73         File file = new File(fileName);
     74         try{
     75             InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file));
     76 
     77             int tempChar;
     78 
     79             while((tempChar=inputStreamReader.read())!=-1) {
     80                 System.out.println((char)tempChar);
     81             }
     82 
     83 
     84             inputStreamReader.close();
     85         }catch(Exception e) {
     86             e.printStackTrace();
     87         }
     88     }        
     89 
     90 
     91         
     92 java8读取字节 超级简单
     93 
     94 
     95     public static byte[] java8ReadBytes(String fileName) throws IOException {
     96         return Files.readAllBytes(Paths.get(fileName));
     97     }
     98 
     99 
    100 
    101 一个字节一个字节地读取
    102 
    103 
    104    public static void readFileByOneByte(String fileName) {
    105         File file = new File(fileName);
    106         InputStream inputStream = null;
    107 
    108         try{
    109             inputStream = new FileInputStream(file);
    110             int tempByte;
    111             while( (tempByte=inputStream.read())!=-1) {
    112                 System.out.println(tempByte);
    113             }
    114 
    115             inputStream.close();
    116         }catch (IOException e) {
    117             System.out.println(e);
    118         }
    119 
    120     }
    121     
    122     
    123  
    124 一个字节一个字节读取到ByteBuffer
    125 
    126 
    127     public static byte[] readFileByOneByteToBuffer(String fileName) {
    128 
    129 
    130         ByteBuffer byteBuffer = ByteBuffer.allocate(1024 * 1024);
    131 
    132         File file = new File(fileName);
    133         InputStream inputStream = null;
    134 
    135         try{
    136             inputStream = new FileInputStream(file);
    137             int tempByte;
    138             while( (tempByte=inputStream.read())!=-1) {
    139                 byteBuffer.put((byte)tempByte);
    140             }
    141 
    142             inputStream.close();
    143         }catch (IOException e) {
    144             System.out.println(e);
    145         }
    146 
    147         byteBuffer.flip();
    148         System.out.println("one limit:" + byteBuffer.limit());
    149         byte[] result = new byte[byteBuffer.limit()];
    150         byteBuffer.get(result);
    151 
    152         return result;
    153 
    154 
    155     }
    156     
    157     
    158     
    159 多个字节进行读取
    160 
    161 
    162     public static void readFileByMultiBytes(String fileName) {
    163 
    164         File file = new File(fileName);
    165         InputStream inputStream = null;
    166 
    167         try {
    168             byte[] bytes = new byte[50];
    169             int byteRead = 0;
    170             inputStream = new FileInputStream(fileName);
    171 
    172             while( (byteRead = inputStream.read(bytes))!=-1 ) {
    173                 System.out.println(byteRead);
    174             }
    175         }catch(IOException e) {
    176             System.out.println(e);
    177         }finally {
    178             if(inputStream!=null) {
    179                 try{
    180                     inputStream.close();
    181                 }catch(IOException e){
    182                     System.out.println("iput stream close exception" +  e);
    183                 }
    184             }
    185         }
    186     }
    187     
    188     
    189   
    190 读取多个字节到ByteBuffer
    191 
    192 
    193     public static byte[] readFileByMultiBytesToBuffer(String fileName) {
    194 
    195         ByteBuffer byteBuffer = ByteBuffer.allocate(1024*1024);
    196         InputStream inputStream = null;
    197 
    198         try {
    199             byte[] bytes = new byte[50];
    200             int byteRead = 0;
    201             inputStream = new FileInputStream(fileName);
    202 
    203             int count = 0;
    204             while( (byteRead = inputStream.read(bytes))!=-1 ) {
    205                 byteBuffer.put(bytes, 0, byteRead);
    206                 count+=byteRead;
    207             }
    208 
    209             System.out.println("readCount:"+count);
    210         }catch(IOException e) {
    211             System.out.println(e);
    212         }finally {
    213             if(inputStream!=null) {
    214                 try{
    215                     inputStream.close();
    216                 }catch(IOException e){
    217                     System.out.println("iput stream close exception" +  e);
    218                 }
    219             }
    220         }
    221 
    222         byteBuffer.flip();
    223         System.out.println("multi limit:" + byteBuffer.limit());
    224         byte[] result = new byte[byteBuffer.limit()];
    225         byteBuffer.get(result);
    226 
    227         return result;
    228     }            
    229         
  • 相关阅读:
    Cyber Security
    Cyber Security
    Cyber Security
    Cyber Security
    Balanced Number HDU
    Round Numbers POJ
    Bomb HDU
    不要62 HDU
    Making the Grade POJ
    You Are the One HDU
  • 原文地址:https://www.cnblogs.com/jym-sunshine/p/5613100.html
Copyright © 2020-2023  润新知