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