이진비트스트림 문자열을 받아서 byte 로 만들고 파일에 쓰고 그러는 소스다.
하고나니 왜 만들었는지도 모르겠다.
이걸 올려두면 쓸 사람이 있을지는 모르겠다.
private static void makeDataToFile(String fileNm, String rst, boolean isBinary) {
try {
if(isBinary)
{
byte[] binary = new byte[rst.length()/7+1];
int cnt = 0;
DataOutputStream out = new DataOutputStream(new FileOutputStream(fileNm));
while(rst.length() > 0) {
if(rst.length() >= 7) {
String data = rst.substring(0, 7);
int b = Integer.parseInt(data, 2);
binary[cnt++] = Byte.parseByte(b+"");
rst = rst.substring(7);
}else {
int b = Integer.parseInt(rst, 2);
binary[cnt++] = Byte.parseByte(b+"");
rst = "";
}
}
out.write(binary);
out.flush();
out.close();
}
else {
FileWriter fout = new FileWriter(fileNm);
fout.write(rst);
fout.flush();
fout.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
일반적인 파일 출력 함수를 만들어 보았다.
다른점이 하나 있다면, 입력 문자열 rst 는 isBinary 체크가 된 경우, 이진수여야 한다는 제약이 있다.
쓴 파일을 다시 읽어들이는 함수도 만들어 보기는 했는데 퍽이나 이쁘지도 않아서 올리지는 않으련다.
반응형
'programming > java, Spring, android, js' 카테고리의 다른 글
[Android] 가로 세로 회전 (2) | 2019.10.23 |
---|---|
[Spring boot+Quartz] 배치 샘플 (0) | 2019.10.18 |
[Android] Key 분실, JKS 재생성 및 PEM 재배포/업로드 방법 (0) | 2019.06.04 |
[Javascript] createElement VS innerHTML (0) | 2019.05.26 |
[스프링/JSP] war 말기, 톰캣 (0) | 2019.05.26 |