这篇文章主要讲解了“java怎么读取二进制文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java怎么读取二进制文件”吧!
import java.io.DataInputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.springframework.web.multipart.MultipartFile;public class BinaryFileUtil { public static String saveUPFile(MultipartFile file, String fileRealPath) throws Exception { // 文件名字 System.out.println(file.getOriginalFilename());// InputStream files = file.getInputStream();// FileOutputStream out = new FileOutputStream(new File(fileRealPath + file.getOriginalFilename() + ".bin")); File newFile = new File(fileRealPath + File.separator + file.getOriginalFilename()); try { file.transferTo(newFile); } catch (IOException e) { e.printStackTrace(); } return newFile.getPath(); } // todo 给一个文件夹的地址 开始解析二进制的文件 这个地方是获取的本地的文件 public static List<String> dataInputStream(String filepath) throws IOException { File file = new File(filepath); DataInputStream dps = new DataInputStream(new FileInputStream(file)); StringBuilder hexData = new StringBuilder(); byte bt = 0; long fileLength = file.length(); System.out.println(fileLength); List<String> fileContent = new ArrayList<String>(); for (int i = 1; i <= fileLength; i++) { if(i % 128 == 0){ fileContent.add(hexData.toString()); hexData = new StringBuilder(); } bt = dps.readByte(); // 以十六进制的无符号整数形式返回一个字符串表示形式。 String str = Integer.toHexString(bt); if (str.length() == 8) { // 去掉补位的f str = str.substring(6); } if (str.length() == 1) { str = "0" + str; } hexData.append(str.toUpperCase()); } fileContent.add(hexData.toString()); return fileContent; }
感谢各位的阅读,以上就是“java怎么读取二进制文件”的内容了,经过本文的学习后,相信大家对java怎么读取二进制文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。