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
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章