zoukankan      html  css  js  c++  java
  • Java 单字节、多字节读取文本文档中的内容

    参考1:Java中try()catch{}的使用方法

    参考2:The try-with-resources Statement

    文本文档位于工程下,使用鼠标右键点击工程,选择new -> File,即可创建。

    文本文档的格式:GBK

    例1:单字节读取

     1 import java.io.File;
     2 import java.io.FileInputStream;
     3 import java.io.FileNotFoundException;
     4 import java.io.IOException;
     5 import java.io.InputStream;
     6 
     7 public class Main {
     8 
     9     public static void main(String[] args) {
    10         System.out.println(System.getProperty("user.dir"));
    11 
    12         File file = new File("text.txt");
    13         InputStream inputStream = null;
    14         
    15         try {
    16             if ((file.exists()) && (file.isFile())) {
    17                 inputStream = new FileInputStream(file);
    18                 int data = -1;
    19                 do {
    20                     data = inputStream.read();
    21                     if (data != -1) {
    22                         System.out.print((char) data);
    23                     } else {
    24                         System.out.print(data);
    25                     }
    26                 } while (data != -1);
    27                 System.out.println();
    28             } else if (!file.exists()) {
    29                 System.out.println("The " + file.getName() + " does not exist.");
    30             } else if (!file.isFile()) {
    31                 System.out.println("The " + file.getName() + " is not a file.");
    32             }
    33         } catch (FileNotFoundException e) {
    34             e.printStackTrace();
    35         } catch (IOException e) {
    36             e.printStackTrace();
    37         } finally {
    38             try {
    39                 if (inputStream != null) {
    40                     // Closes this input stream and releases any system resources associated with the stream.
    41                     inputStream.close();
    42                     System.out.println("Close the input stream.");
    43                 }
    44             } catch (IOException e) {
    45                 e.printStackTrace();
    46             }
    47         }
    48     }
    49 }

    改写例1:

     1 import java.io.File;
     2 import java.io.FileInputStream;
     3 import java.io.FileNotFoundException;
     4 import java.io.IOException;
     5 import java.io.InputStream;
     6 
     7 public class Main {
     8 
     9     public static void main(String[] args) {
    10         System.out.println(System.getProperty("user.dir"));
    11 
    12         File file = new File("text.txt");
    13         
    14         try (InputStream inputStream = new FileInputStream(file)) {
    15             if ((file.exists()) && (file.isFile())) {
    16                 int data = -1;
    17                 do {
    18                     data = inputStream.read();
    19                     if (data != -1) {
    20                         System.out.print((char) data);
    21                     } else {
    22                         System.out.print(data);
    23                     }
    24                 } while (data != -1);
    25                 System.out.println();
    26             } else if (!file.exists()) {
    27                 System.out.println("The " + file.getName() + " does not exist.");
    28             } else if (!file.isFile()) {
    29                 System.out.println("The " + file.getName() + " is not a file.");
    30             }
    31         } catch (FileNotFoundException e) {
    32             e.printStackTrace();
    33         } catch (IOException e1) {
    34             e1.printStackTrace();
    35         }
    36     }
    37 }

    多字节读取

     1 import java.io.File;
     2 import java.io.FileInputStream;
     3 import java.io.FileNotFoundException;
     4 import java.io.IOException;
     5 import java.io.InputStream;
     6 
     7 public class IOTest02 {
     8 
     9     public static void main(String[] args) {
    10         File src = new File("src.txt");
    11         InputStream is = null;
    12         
    13         try {
    14             is = new FileInputStream(src);
    15             byte[] buffer = new byte[1024 * 1];                    // 1k bytes
    16             int length = -1;
    17             while ((length = is.read(buffer)) != -1) {
    18                 String str = new String(buffer, 0, length);        // decode
    19                 System.out.print(str);
    20             }
    21         } catch (FileNotFoundException e) {
    22             e.printStackTrace();
    23         } catch (IOException e) {
    24             e.printStackTrace();
    25         } finally {
    26             try {
    27                 if (is != null) {
    28                     is.close();
    29                     System.out.println("
    
    InputStream Closed.");
    30                 }
    31             } catch (IOException e) {
    32                 e.printStackTrace();
    33             }
    34         }
    35     }
    36 }
  • 相关阅读:
    PhoneGap 的文件 api
    81-POJ-Wall(计算几何)
    12-凸包模板-计算几何
    80-计算几何-奶牛
    79-多边形的面积-计算几何
    78-直线相交-计算几何
    11-欧拉函数详解
    76-Relatives-欧拉函数
    29-中国剩余定理CRT
    2018.3.12 Leecode习题 给定一个整数数列,找出其中和为特定值的那两个数。
  • 原文地址:https://www.cnblogs.com/Satu/p/10002779.html
Copyright © 2011-2022 走看看