Java에서 Inputstream을 바이트 배열로 변환
-
Java에서
readAllBytes()
메서드를 사용하여 InputStream을 바이트 배열로 변환 -
Java에서
toByteArray()
메서드를 사용하여 InputStream을 바이트 배열로 변환 -
Java에서
write()
메서드를 사용하여 InputStream을 바이트 배열로 변환 -
Java에서
readAllBytes()
메서드를 사용하여 InputStream을 바이트 배열로 변환 -
Java에서
readFully()
메서드를 사용하여 InputStream을 바이트 배열로 변환 -
Java에서
getBytes()
메서드를 사용하여 InputStream을 바이트 배열로 변환 - Java에서 사용자 정의 된 코드를 사용하여 InputStream을 바이트 배열로 변환
-
Java에서
toByteArray()
메서드를 사용하여 InputStream을 바이트 배열로 변환
이 튜토리얼은 Java에서 Inputstream
을 바이트 배열로 변환하는 방법을 소개하고 주제를 이해하기위한 몇 가지 예제 코드를 나열합니다.
InputStream
은 바이트의 입력 스트림을 나타내는 모든 클래스의 추상 클래스이자 수퍼 클래스입니다. Java는 입력 스트림을 사용하여 파일, 배열 등과 같은 모든 소스에서 데이터를 읽습니다. 그런 다음 Java에서 일부 내장 메서드와 사용자 정의 코드를 사용하여이 스트림을 바이트 배열로 변환하는 방법을 살펴 보겠습니다.
이 기사에서는toByteArray()
,readAllBytes()
,readFully()
,getBytes()
,write()
등과 같은 여러 내장 메서드와 텍스트 파일abc.txt
는 데이터를 읽는 데 사용됩니다. 이 텍스트 파일에는 Welcome to Delfstack
이라는 단일 문장이 포함되어 있으며, 읽어서 바이트 배열로 변환 한 후 원하는 결과를 확인하기 위해 문자열로 변환 할 수 있습니다.
Java에서readAllBytes()
메서드를 사용하여 InputStream을 바이트 배열로 변환
readAllBytes()
메소드를 사용하여 모든 데이터를 바이트 배열로 가져올 수 있습니다. 이 메서드는 텍스트 데이터를 인쇄하기 위해String
생성자에 추가로 전달할 수있는 바이트 배열을 반환합니다.
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class SimpleTesting {
public static void main(String[] args) {
try {
InputStream ins = new FileInputStream("abc.txt");
byte[] byteArray = ins.readAllBytes();
System.out.println(new String(byteArray));
ins.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
Welcome to Delfstack
Java에서toByteArray()
메서드를 사용하여 InputStream을 바이트 배열로 변환
Apache 라이브러리를 사용하는 경우IOUtils
클래스의toByteArray()
메서드를 사용하여 모든 데이터를 바이트 배열로 가져올 수 있습니다. 이 메서드는 텍스트 데이터를 인쇄하기 위해String
생성자에 추가로 전달할 수있는 바이트 배열을 반환합니다.
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
public class SimpleTesting {
public static void main(String[] args) {
try {
InputStream ins = new FileInputStream("abc.txt");
byte[] bytes = IOUtils.toByteArray(ins);
System.out.println(new String(bytes));
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
Welcome to Delftstack
Java에서write()
메서드를 사용하여 InputStream을 바이트 배열로 변환
ByteArrayOutputStream
클래스의write()
메소드를 사용하여 모든 데이터를 바이트 배열로 가져올 수 있습니다. 이 메서드는 텍스트 데이터를 인쇄하기 위해String
생성자에 전달할 수있는 바이트 배열을 반환합니다.
package myjavaproject;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class SimpleTesting {
public static void main(String[] args) {
try {
InputStream ins = new FileInputStream("abc.txt");
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int read;
byte[] data = new byte[16384];
while ((read = ins.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, read);
}
System.out.println(new String(data));
ins.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
Welcome to Delfstack
Java에서readAllBytes()
메서드를 사용하여 InputStream을 바이트 배열로 변환
DataInputStream
클래스의readAllBytes()
메소드를 사용하여 모든 데이터를 바이트 배열로 변환 할 수 있습니다. 이 메서드는 텍스트 데이터를 인쇄하기 위해String
생성자에 추가로 전달할 수있는 바이트 배열을 반환합니다.
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class SimpleTesting {
public static void main(String[] args) {
try {
String file = "abc.txt";
DataInputStream dis = new DataInputStream(new FileInputStream(file));
byte[] bytes = dis.readAllBytes();
System.out.println(new String(bytes));
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
Welcome to Delftstack
Java에서readFully()
메서드를 사용하여 InputStream을 바이트 배열로 변환
RandomAccessFile
클래스의 readFully()
메서드를 사용하여 모든 데이터를 바이트 배열로 변환 할 수 있습니다. 이 메서드는 텍스트 데이터를 인쇄하기 위해String
생성자에 전달할 수있는 바이트 배열을 반환합니다.
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
public class SimpleTesting {
public static void main(String[] args) {
try {
String file = "abc.txt";
InputStream is = new FileInputStream(file);
RandomAccessFile raf = new RandomAccessFile(file, "r");
byte[] bytesData = new byte[(int) raf.length()];
raf.readFully(bytesData);
System.out.println(new String(bytesData));
is.close();
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
Welcome to Delfstack
Java에서getBytes()
메서드를 사용하여 InputStream을 바이트 배열로 변환
String
클래스의getBytes()
메소드를 사용하여 모든 데이터를 바이트 배열로 변환 할 수 있습니다. 이 메서드는 텍스트 데이터를 인쇄하기 위해String
생성자에 추가로 전달할 수있는 바이트 배열을 반환합니다.
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.stream.Collectors;
public class SimpleTesting {
public static void main(String[] args) {
try {
String file = "abc.txt";
byte[] bytesData = {};
InputStream is = new FileInputStream(file);
try (BufferedReader buffer = new BufferedReader(new InputStreamReader(is))) {
bytesData = buffer.lines().collect(Collectors.joining("\n")).getBytes();
}
System.out.println(new String(bytesData));
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
Welcome to Delftstack
Java에서 사용자 정의 된 코드를 사용하여 InputStream을 바이트 배열로 변환
기본 제공 메서드를 사용하지 않으려면이 사용자 지정 코드를 사용하여 입력 스트림을 바이트 배열로 변환합니다. 이 코드는 텍스트 데이터를 인쇄하기 위해String
생성자에 추가로 전달할 수있는 바이트 배열을 반환합니다.
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class SimpleTesting {
public static void main(String[] args) {
try {
String file = "abc.txt";
byte[] bytesData = {};
bytesData = getBytesFromFile(new File(file));
System.out.println(new String(bytesData));
} catch (IOException e) {
e.printStackTrace();
}
}
public static byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
long length = file.length();
byte[] bytes = new byte[(int) length];
int offset = 0;
int numRead = 0;
while (
offset < bytes.length && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
offset += numRead;
}
if (offset < bytes.length) {
throw new IOException("Could not read file " + file.getName());
}
return bytes;
}
}
출력:
Welcome to Delfstack
Java에서toByteArray()
메서드를 사용하여 InputStream을 바이트 배열로 변환
ByteArrayOutputStream
클래스의toByteArray()
메소드를 사용하여 모든 데이터를 바이트 배열로 변환 할 수 있습니다. 이 메서드는 텍스트 데이터를 인쇄하기 위해String
생성자에 추가로 전달할 수있는 바이트 배열을 반환합니다.
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class SimpleTesting {
public static void main(String[] args) {
try {
String file = "abc.txt";
InputStream is = new FileInputStream(file);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
is.transferTo(byteArrayOutputStream);
byte[] bytesData = byteArrayOutputStream.toByteArray();
System.out.println(new String(bytesData));
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
출력:
Welcome to Delfstack