天天看點

android 檔案讀寫

android 檔案讀寫

讀取:

public static String _getJsonString(String fileName)

throws IOException {
    if ((fileName == null) || fileName.isEmpty()) {
        return "";
    }
    String retString = "";
    FileInputStream fis = null;
    String state = Environment.getExternalStorageState();
    if (state.equals(Environment.MEDIA_MOUNTED)) {
        File file = new File(Environment.getExternalStorageDirectory()
                + "/" + fileName + ".json");
        if (file.exists()) {
            fis = new FileInputStream(file);
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();

            retString = new String(buffer);
        } else {

        }
    }
    return retString;
}           

寫:

public static void saveSettingFile(String fileName, String content) {

FileOutputStream fos = null;
    String state = Environment.getExternalStorageState();
    if (state.equals(Environment.MEDIA_MOUNTED)) {
        File file = new File(Environment.getExternalStorageDirectory()
                + "/" + fileName + ".json");
        try {
            fos = new FileOutputStream(file);
            byte[] buffer = content.getBytes();
            fos.write(buffer);
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}           

Gson 讀寫:

public static void saveServerInfo(String fileName, String content) {

FileOutputStream fos = null;
    String state = Environment.getExternalStorageState();
    if (state.equals(Environment.MEDIA_MOUNTED)) {
        File file = new File(Environment.getExternalStorageDirectory()
                + "/" + fileName + ".json");
        try {
            fos = new FileOutputStream(file);
            byte[] buffer = content.getBytes();
            fos.write(buffer);
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

public static ServerInfo getServerInfo(String fileName)
        throws IOException {
    ServerInfo serverInfo = new ServerInfo();
    if ((fileName == null) || fileName.isEmpty()) {
        serverInfo = null;
        return serverInfo;
    }
    FileInputStream fis = null;
    String state = Environment.getExternalStorageState();
    if (state.equals(Environment.MEDIA_MOUNTED)) {
        File file = new File(Environment.getExternalStorageDirectory()
                + "/" + fileName + ".json");
        if (file.exists()) {
            fis = new FileInputStream(file);
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();

            Gson gson = new Gson();
            serverInfo = gson.fromJson(new String(buffer),
                    ServerInfo.class);
        } else {
            serverInfo = null;
        }
    }
    return serverInfo;
}           

調用:

public void onSetIPAndPort(View view) {

ServerInfo serverInfo = new ServerInfo();
    try {
        serverInfo = JsonFileWriteAndRead.getServerInfo("videochat");
    } catch (IOException e) {
        e.printStackTrace();
    }

    //寫入ip和端口
    String ip = ipSet.getText().toString();
    String port = portSet.getText().toString();
    serverInfo.setIpString(ip);
    serverInfo.setPortString(port);
    Gson gson = new Gson();
    if (ip.isEmpty() || port.isEmpty()) {
        Toast.makeText(this, "位址或端口為空", Toast.LENGTH_SHORT).show();
    } else {
        JsonFileWriteAndRead.saveServerInfo("videochat", gson.toJson(serverInfo));
        Toast.makeText(this, "位址和端口已經寫入檔案", Toast.LENGTH_SHORT).show();
    }
}           

作者:小新110

來源:CSDN

原文:

https://blog.csdn.net/cau_eric/article/details/90410761

版權聲明:本文為部落客原創文章,轉載請附上博文連結!