Java는 바이너리 파일을 바이트 단위로 읽고, 사진, 음악 파일, 비디오 파일 등도 읽을 수 있습니다. Java에서는 파일을 작동하기 위해 네 가지 범주, 즉 InputStream, OutputStream, Reader 및 Writer가 제공됩니다. 처음 두 개는 바이트 스트림에 대한 작업이고 후자 두 개는 문자 스트림에 대한 작업입니다.
FileWriter는 문자열 형식의 매개변수만 허용할 수 있습니다. 즉, 내용을 텍스트 파일에만 저장할 수 있습니다. 텍스트 파일에 비해 바이너리 형식의 파일 저장은 더 많은 공간을 절약합니다.
InputStream은 입력 스트림에서 데이터를 바이트 단위로 읽는 데 사용됩니다. int read() 메서드는 바이트를 읽고 0에서 255 사이의 값을 정수 형식으로 반환합니다. 바이트 유형 값을 직접 반환하는 대신 바이트를 읽는 이유는 무엇입니까?
바이트 유형의 최상위 비트가 부호 비트이므로 표현할 수 있는 가장 큰 양의 정수는 127입니다.
InputStream은 추상 클래스일 뿐이며 인스턴스화할 수 없습니다. FilelnputStream은 InputStream의 하위 클래스이며 파일에서 바이트를 읽는 데 사용됩니다.
public static void main(String[] args) throws IOException { String filePath = "d:/test.txt"; File file = new File (filePath); //根据文件路径创建一个文件对象 //如果找不到文件,会抛出FileNotFoundException异常 FilelnputStream filelnput = new FilelnputStream(file); } filelnput.close (); //关闭文件输入流,如果无法正常关闭,会抛出IOException异常
OutputStream의 write(int b) 메소드는 데이터를 바이트 단위로 쓰는 데 사용됩니다. FileOutputStream은 파일에 바이트 단위로 데이터를 쓰는 데 사용됩니다. 예를 들어 파일의 내용을 바이트 단위로 읽어서 다른 새 파일에 쓰는 것이 파일 복사 기능입니다.
File fileln = new File ("source. txt"); //打开源文件 File fileOut = new File ("target.txt”); //打开写入文件,也就是目标文件 FilelnputStream streamln = new FilelnputStream (fileln); //根据源文件构建输入流 FileOutputStream streamOut = new FileOutputStream (fileOut); //根据目标文件构建输出流 int c; //从源文件中按字节读入数据,如果内容还没读完,则继续 while ((c = streamln.read()) != -1) { streamOut .write (c); //写入目标文件 } streamln.close。; //关闭输入流 streamOut.close(); //关闭输出流
파일이 이미 존재하는지 확인합니다. 존재하지 않는 경우 파일을 생성합니다.
File dataFile = new File(dicDir + dataDic); if (!dataFile.exists()) { //如果文件不存在则写入文件 }
File.mkdirs() 메서드를 사용하여 다중 레벨 디렉터리를 만듭니다. 예를 들어 디렉터리가 없으면 새로 만듭니다.
File tempDir = new File(imgPath); if(!tempDir.exists()){ tempDir.mkdirs(); }
많은 java 교육 비디오, 모두 PHP 중국어 웹사이트에 있습니다. 온라인 학습에 오신 것을 환영합니다!
위 내용은 Java에서 바이너리 파일을 여는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!