- 读取方式:普通文件是以文本形式存储的,可以直接使用文本读取方法(如
FileReader
、BufferedReader
等)来逐行读取文本内容。而二进制文件是以二进制数据形式存储的,需要使用二进制读取方法(如InputStream
、RandomAccessFile
等)读取数据。 - 数据解析:普通文件的数据是以字符形式存储的,文件内容包含文本字符,可以直接进行解析和处理。而二进制文件的数据是以字节形式存储的,需要对字节进行解析和处理,例如将字节流转换为其他数据类型(整数、浮点数等)。
- 编码方式:普通文件通常使用文本编码方式(如UTF-8、ASCII等)保存文本内容。而二进制文件不依赖于特定的编码方式,可以保存任意类型的二进制数据。
- 数据精确性:由于二进制文件以字节形式存储数据,可以保持数据的精确性。而普通文件在存储文本时可能受到编码和换行符等因素的影响,可能会导致字符解析的不一致性和精确性问题。 需要注意的是,读取二进制文件时需要特别注意数据的格式和字节顺序,确保正确地解析数据。不同的文件格式可能需要使用不同的库或API来读取和解析数据,具体实现取决于文件类型和数据结构。 总而言之,处理二进制文件需要使用专门的二进制读取方法,而处理普通文件(文本文件)可以使用文本读取方法。读取二进制文件时需要对数据进行精确的解析和处理。
public static String readFile(String filePath) { if(extension.equals("二进制文件后缀")){ try { FileInputStream fileInputStream = new FileInputStream(filePath); byte[] data = new byte[fileInputStream.available()]; fileInputStream.read(data); fileInputStream.close(); String base64Data = Base64.getEncoder().encodeToString(data); return base64Data; }catch (FileNotFoundException e){ // 处理文件路径找不到异常) throw new ProjectException(404,"不存在该文件"); } }else{ try { File file = new File(filePath); BufferedReader reader = new BufferedReader(new FileReader(file)); String line; while ((line = reader.readLine()) != null) { String jsonData = new String(line.getBytes(), StandardCharsets.UTF_8); return jsonData; } return null; }catch (FileNotFoundException e) { // 处理文件路径找不到异常) throw new ProjectException(404, "不存在该文件"); } } }
读取二进制文件和普通文件的区别
最新推荐文章于 2024-07-15 22:27:18 发布