public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; StringBuffer sb=new StringBuffer(); try { if(file.isFile() && file.exists()){ //判斷文件是否存在 System.out.println("以字節為單位讀取文件內容,一次讀多個字節:"); // 一次讀多個字節 byte[] tempbytes = new byte[1024]; int byteread = 0; in = new FileInputStream(file); ReadFromFile.showAvailableBytes(in); // 讀入多個字節到字節數組中,byteread為一次讀入的字節數 while ((byteread = in.read(tempbytes)) != -1) { // System.out.write(tempbytes, 0, byteread); String str=new String(tempbytes,0,byteread); sb.append(str); } }else{ System.out.println("找不到指定的文件,請確認文件路徑是否正確"); } String data = sb.toString() ; } catch (Exception e) { System.out.println("讀取文件內容出錯"); e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e1) { } } } }
/**
* 顯示輸入流中的字節數
*/
private static void showAvailableBytes(InputStream in) {
try {
System.out.println("當前字節輸入流中的字節數為:" + in.available());
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// String fileName = "D:/file/test3.json";
String fileName = "D:/file/1.json";
readFileByBytes(fileName);
}