app-mobile/app/src/main/java/monnethic/mobile/blockchain/utility/Util.java
2018-10-14 18:50:55 +02:00

99 lines
2.8 KiB
Java

package monnethic.mobile.blockchain.utility;
import android.content.Context;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import monnethic.mobile.blockchain.participant.UserContext;
public class Util {
private Context context;
public Util(Context context){
this.context=context;
}
//Method which write user info into a directory
public static void writeUserContext(Context context, UserContext userContext){
ObjectOutputStream out = null;
FileOutputStream file = null;
try{
String filename = userContext.getName()+".context";
String dirPath = context.getFilesDir()+"userInfos/"+userContext.getAffiliation();
String pathFile = dirPath+"/"+filename;
File dir = new File(dirPath);
if(!dir.exists()){
dir.mkdirs();
}
file = null;
file = new FileOutputStream(pathFile);
out = new ObjectOutputStream(file);
out.writeObject(userContext);
}catch (Exception e){
e.printStackTrace();
} finally {
try {
if (out != null){
out.close();
}
}catch (Exception e){
e.printStackTrace();
}
try{
if(file != null){
file.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
//Method to read user in file
public static UserContext readUserContext(Context context, String affiliation, String username){
UserContext userContext = null;
FileInputStream fileInputStream = null;
ObjectInputStream in = null;
try{
String filename = username+".context";
String dirPath = context.getFilesDir()+"userInfos/"+affiliation;
String pathFile = dirPath+"/"+filename;
File file = new File(pathFile);
if(file.exists()){
fileInputStream = new FileInputStream(pathFile);
in = new ObjectInputStream(fileInputStream);
userContext = (UserContext) in.readObject();
}
} catch (Exception e){
e.printStackTrace();
} finally {
try {
if(in != null){
in.close();
}
}catch (Exception e){
e.printStackTrace();
}
try {
if(fileInputStream!=null){
fileInputStream.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
return userContext;
}
}