-1

txtファイルを開き、編集し、保存し、その権限を念頭に置いて、ファイルを編集できるアプリを作りたいです。アクティビティでこれを行うにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

1

次のように作成できます。

    try {
        final FileOutputStream fos = openFileOutput(fileName + extension, Context.MODE_PRIVATE);
        fos.close();
    } catch (FileNotFoundException e) {
        Log.d(TAG, "File not found: " + e.getMessage());
    } catch (IOException e) {
        Log.d(TAG, "Error accessing file: " + e.getMessage());
    }

次に、FileInputStream を使用して開いて編集できます。

追加する必要があるアクセス許可:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

その投稿を見るか、このチュートリアルを読んでください

役に立つことを願っています

于 2013-09-09T11:12:04.080 に答える
1

数日後、次の方法があります。

private static byte[] readFromFile(String filePath, int position, int size)
        throws IOException {

    RandomAccessFile file = new RandomAccessFile(filePath, "r");
    file.seek(position);
    byte[] bytes = new byte[size];
    file.read(bytes);
    file.close();
    return bytes;

}

private void CopyFromAssetsToStorage(Context Context, String SourceFile, String DestinationFile) throws IOException {
    InputStream IS = Context.getAssets().open(SourceFile);
    OutputStream OS = new FileOutputStream(DestinationFile);
    CopyStream(IS, OS);
    OS.flush();
    OS.close();
    IS.close();
}

private void CopyStream(InputStream Input, OutputStream Output) throws IOException {
    byte[] buffer = new byte[5120];
    int length = Input.read(buffer);
    while (length > 0) {
        Output.write(buffer, 0, length);
        length = Input.read(buffer);
    }
}

private static void writeToFile(String filePath, String data, int position) throws IOException {

    RandomAccessFile file = new RandomAccessFile(filePath, "rw");
    file.seek(position);
    file.write(data.getBytes());
    file.close();



public static String readFileAsString(String filePath) throws IOException
{
    String separator = System.getProperty("line.separator");

    BufferedReader reader = new BufferedReader(new FileReader(filePath));
    String line, results = "";
    while( ( line = reader.readLine() ) != null)
    {
        results += line + separator;
    }
    reader.close();
    return results;
}

どれ、私は今日使っています。これが他の誰かを助けることができることを願っています。

また近いうちにお会いしましょう。

于 2013-09-18T17:08:49.840 に答える