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);
}