2016-12-04 46 views
-1

假設我的文本文件名是「FileToUse」。如何使用FileInputStream類中的read方法逐字節讀取此文件?如何使用read()方法讀取文本文件?

我的最終目標是創建一個HashMap,其中鍵爲字母(但字母的字節爲鍵),值爲字母在文本文件中的次數。任何提示如何做到這一點將不勝感激。

回答

2

這裏是你做什麼:

  1. 首先創建一個文件
  2. 然後,你的文件如果該文件的鏈接,那麼你通過一個使用指定文件內容之一鏈接到的FileInputStream
  3. read()同時檢查它是否不是EOF。 read()返回-1 EOF
  4. 然後,你處理的內容到地圖

    File file = new File("FileToUse.txt"); 
    FileInputStream fis = null; 
    
        try { 
         fis = new FileInputStream(file); 
    
         System.out.println("Total file size to read (in bytes) : " 
           + fis.available()); 
    
         int content; 
         while ((content = fis.read()) != -1) { 
          // process the content into the hashmap 
         } 
    
        } catch (IOException e) { 
         e.printStackTrace(); 
        } finally { 
         try { 
          if (fis != null) 
           fis.close(); 
         } catch (IOException ex) { 
          ex.printStackTrace(); 
         } 
        } 
    } 
    } 
    
+0

真棒!所以說我有HashMap hashmap = new HashMap ()。用「hashmap.put(content,1)」添加一個新密鑰並添加一個現有密鑰爲「hashmap.put(content,hashmap.get(content)+ 1)」是否正確? –

+0

是的!這應該工作 – Moonstruck

+0

偉大的,謝謝! –