最近做东西常用到,所以就这里和收藏一下,需要注意的是10和13,在windows中文本java会把回车解释成是1310两个字节,在linux下面是10一个字节.
下面是将两个文件读成了二进制之后的结果.大家可以去看测试一下windows上的,
方法
public byte[] getByteArrayFromFile(String filePath) throws Exception { File pathStr = new File(filePath); InputStream is = null; ByteArrayOutputStream out = new ByteArrayOutputStream(); try { is = new FileInputStream(pathStr);// pathStr 文件路径 byte[] b = new byte[1024]; int n; while ((n = is.read(b)) != -1) { out.write(b, 0, n); } } catch (Exception e) { throw new Exception("System error,SendTimingMms.getBytesFromFile", e); } finally { if (is != null) { try { is.close(); } catch (Exception e) { System.err.println("inputStream 关闭异常"); } } } return out.toByteArray(); }}
两个文件的内容就不写了,大家可以结合下面的ascII自行翻译一下
运行结果
ubuntu上创建的文件
49505110windows上创建的文件119101329711410132981011151163210211410511010011533
PS:
I LOVE YOU
I LOVE YOU TOO下面是对应的ascII
73
3276798669328979851010733276798669328979853284797910