7
I need to convert a file .crt byte to be able to send by socket. This code works in Java, but how would I write it on Android?
Path path = Paths.get("sdcard/certificado.crt");
byte[] certificado = Files.readAllBytes(path);
7
I need to convert a file .crt byte to be able to send by socket. This code works in Java, but how would I write it on Android?
Path path = Paths.get("sdcard/certificado.crt");
byte[] certificado = Files.readAllBytes(path);
2
Untested code
With my search I obtained the following:
public static byte[] convertFileToByteArray(File f)
{
byte[] byteArray = null;
try
{
InputStream inputStream = new FileInputStream(f);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024*8];
int bytesRead =0;
while ((bytesRead = inputStream.read(b)) != -1)
{
bos.write(b, 0, bytesRead);
}
byteArray = bos.toByteArray();
}
catch (IOException e)
{
e.printStackTrace();
}
return byteArray;
}
Source: http://androidsnippets.wordpress.com/2012/08/07/how-to-convert-a-file-to-byte-array/
But I also found these:
https://stackoverflow.com/questions/14466469/convert-android-graphics-path-object-to-byte-and-back https://stackoverflow.com/questions/13466908/create-a-arraylist-of-byte-array-in-android
And the one I believe isn’t quite what you want, but it’s useful:
2
Well, you can use the library Apache Commons to achieve this. Attention to the functions IOUtils.toByteArray(InputStream input) and FileUtils.readFileToByteArray(File file).
If you do not choose to use what was suggested above you can use this function below.
public static byte[] getFileBytes(File file) throws IOException {
ByteArrayOutputStream ous = null;
InputStream ios = null;
try {
byte[] buffer = new byte[4096];
ous = new ByteArrayOutputStream();
ios = new FileInputStream(file);
int read = 0;
while ((read = ios.read(buffer)) != -1)
ous.write(buffer, 0, read);
} finally {
try {
if (ous != null)
ous.close();
} catch (IOException e) {
//
}
try {
if (ios != null)
ios.close();
} catch (IOException e) {
//
}
}
return ous.toByteArray();
}
0
Sorry personal delay I managed to do a while ago only I forgot to post here my answer. My code was like this
File f = new File(cert); // o cert é o caminho do meu certificado ex: sdcar/download/certificado.crt
FileInputStream input = new FileInputStream(f);
byte[] certificado = new byte[(int) f.length()];
input.read(certificado);
Browser other questions tagged java android certified
You are not signed in. Login or sign up in order to post.