Java - 下载并发送文件

Java - downloading and sending file

我想做登录系统。它将从 github 下载 xml 文件,然后将其与新信息一起发回。 xml 文件看起来像这样:

<user id="1">
        <username>usern&me</username>
        <password>passw0rd</password>
</user>

程序将读取文件并将其存储在数组列表中。然后它将添加新信息并将其写入 xml 文件。然后我需要它 upload/send 到 GitHub。该文件将是相同的,因为 GitHub 会自动覆盖同名文件。我如何发送它并将其上传到我的存储库?最快的方法是什么?

编辑

我将使用 GitHub Java API.

https://github.com/eclipse/egit-github/tree/master/org.eclipse.egit.github.core

这个 API 将帮助我验证我的 Github 帐户并将文件提交到 Github。

我将在下载后立即附加到 XML 文件,并将所有用户名和 ID 和密码存储到临时数组列表中,登录后将被销毁。这将创建一个“假”数据库。

为此,我真的需要让这个过程非常快。一切都在 1 秒内下载。所以我需要一些可以快速写入 xml 文件的快速算法。

如果你有一些好的方法来做到这一点,如何通过编码来更安全的密码(即使存储库将是私有的,显然)。编码也应该尽可能快。

解决方案

我从用户 Detelca 那里找到了很棒的要点。 它没有很好的文档化,但我现在知道它是如何工作的。 要点 link 在那里:https://gist.github.com/Detelca/2337731

简单说明:

我需要连接到 GitHub 身份验证。

GitHubClient client = new GitHubClient();
client.setCredentials("username", "password");

定义存储库

Repository repository =  repositoryService.getRepository("User", "repository");

并提交:

Commit commit = new Commit();
commit.setMessage("commit at " + new Date(System.currentTimeMillis()).toLocaleString());
commit.setTree(newTree);
List<Commit> listOfCommits = new ArrayList<Commit>();
listOfCommits.add(new Commit().setSha(baseCommitSha));           listOfCommits.containsAll(base_commit.getParents());
commit.setParents(listOfCommits);
commit.setSha(base_commit.getSha());
Commit newCommit = dataService.createCommit(repository, commit);

要做的事情比较多,但是代码比较长,大家可以看一下要点。

感谢帮助!