在哪里保存用户创建的文件

Posted

技术标签:

【中文标题】在哪里保存用户创建的文件【英文标题】:Where to save user created files 【发布时间】:2015-12-04 00:51:14 【问题描述】:

我的程序小而简单。除了使用凭据和加密保存文件之外,它还可以用作文本编辑器。

虽然加密后可以说是任意的,但我强烈希望这些文件保留在本地文件系统或公司网络中。

问题:

我应该为用户选择一个默认的保存位置,还是让用户选择一个位置(如果没有存储位置)?如果我选择默认位置,什么是最好的?我应该创建一个新的应用程序文件夹来保存这些文件吗?

(我的目标系统是 Windows 7,尽管我当然欢迎使用与操作系统无关的最佳实践。)

请注意:

首选更自然(用户交互更少)的选项,但不是强制性的。 我说的不是配置文件,而是工作项目文件。 我已经对这个看似简单的问题感到困惑,以至于我可以让自己面临被聪明但强硬的 SO 社区批评的风险。


为什么我认为这是一个有效的问题而不是意见征集: 我无法在 google 中使用搜索词“保存项目文件的位置”“编程保存文件最佳实践”或“首选默认保存位置 windows 7”找到令人满意的甚至适用的答案 我敢肯定,尽管我的问题 很简单,但答案很重要 - 有一个理想的、首选的、用户友好的文件系统保存策略 我确实相信真正好的答案的简单子集 我相信互联网会是一个更好的地方,因为这个问题的答案很容易搜索到

谢谢。

【问题讨论】:

用户的Documents文件夹是常规的地方。只要确保您使用正确的 API 来查找它。 (关于这个主题有许多现有的问题和答案。) Get path to My Documents的可能重复 @VladislavRastrusny 感谢您的关注。链接的问答是一种可能的解决方案。但是,我认为我的问题是独一无二的,因为它并不认为使用 Windows 的“我的文档”是存储这些文件的最佳位置(尽管这当然是合乎逻辑的),而且它还要求这些文件是否应该存储在应用程序文件夹中或放在顶层。事实上,这个问题根本没有任何假设,除了一个、正确、自然的地方来存储这些文件。 好吧,如果那是你,谁不认为,那个 Documents 文件夹不是documentsworking project files 的好地方....我认为你在这里有一个非常具体的案例;) 我怀疑我可以在这里提供帮助,因为我不是你 ;) @VladislavRastrusny 这是存放它们的好地方 Vlad!我一点也不反对你。 :) 我鼓励您用一点历史推理和一点输入来回答这个立场在我的文档中。 【参考方案1】:

正如 vlad 和 harry 在他们的 cmets 中指出的那样,My Documents 文件夹是存储项目文件的标准位置,如果您决定将文件默认保存在一个位置,我建议您选择文档文件夹。

但是,由于您提到的项目本质上是一个文本编辑器,我建议您让用户选择一个目录来保存文件。

这样,他们可以方便地将正在处理的文档保存在他们选择的任何目录中,无论是在本地磁盘、网络位置还是在他们需要在机器之间移动的闪存驱动器上。

具体来说,如果您的项目一次只保存一个文件,比如记事本,最好的选择可能是在每次出现时都提示。

如果每个项目都有多个文档,这可能是一个不错的选择;

我个人喜欢 Visual Studio 处理此问题的方式 - 有一个默认目录供您的项目文件存储,如果需要,您可以选择更改它。

【讨论】:

以上是关于在哪里保存用户创建的文件的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript:创建和保存文件[重复]

Python - 使用 cx_Freeze 构建二进制文件时,代码保存在哪里?

如何在php网站根目录下建立自己想要的目录?

如何在php网站根目录下建立自己想要的目录?

如何将用户创建的 QTreeItem 结构保存在 xml 文件中? [复制]

保存到特定目录