java - Java - 下载和发送文件
问题描述
我想做登录系统。它将从 github 下载 xml 文件,然后将其与新信息一起发送回去。xml 文件看起来像这样:
<user id="1">
<username>usern&me</username>
<password>passw0rd</password>
</user>
程序将读取文件并将其存储在数组列表中。然后它将添加新信息并将其写入xml文件。然后我需要它上传/发送到 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 那里找到了很棒的要点。它不是很好,但我现在知道它是如何工作的。要点的链接在那里: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);
要做的事情比较多,但是代码比较长,可以看大意。
感谢帮助!
推荐阅读
- java - org.hibernate.HibernateException:无法在 Jboss EAP 和 JDK 1.8 上找到当前 JTA 事务 bei 部署
- android - VideoCapturer.startCamera(width, height, fps) 以不同的宽度、高度 android 裁剪相机
- php - Wordpress wp_mail:发布新帖子时接收重复的电子邮件
- .net - SAP RFC 无法在 .NET 中连接
- python - 有没有办法在 Tkinter 框架或画布中包含一个 vpython 窗口?
- el - EL 中的等于:如果第一个操作数为空怎么办?
- python - Pandas 累计计数(根据条件)
- r - 保留匹配的列和行并删除不匹配的观察值
- php - Laravel:使用父信息查询孩子
- r - 仅在某些情况下在 R 中更改数据帧