临时文件

管理全局包、缓存和临时文件夹

拟墨画扇 提交于 2020-03-04 08:03:02
每当安装、更新或还原包时,NuGet 将管理项目结构多个文件夹之外的包和包信息: name 说明和位置(每个用户) global‑packages global-packages 文件夹是 NuGet 安装任何下载包的位置。 每个包完全展开到匹配包标识符和版本号的子文件夹。 使用 PackageReference 格式的项目始终直接从该文件夹中使用包。 使用 packages.config 时,包将安装到 global-packages 文件夹,然后复制到项目的 packages 文件夹。 Windows: %userprofile%\.nuget\packages Mac/Linux: ~/.nuget/packages 使用 NUGET_PACKAGES 重写环境变量 globalPackagesFolder 或 repositoryPath 配置设置 (分别在使用 PackageReference 和 packages.config 时)或 RestorePackagesPath MSBuild 属性(仅限 MSBuild)。 环境变量优先于配置设置。 http‑cache Visual Studio 包管理器 (NuGet 3.x+) 和 dotnet 工具存储此缓存中下载包的副本(另存为 .dat 文件),这些副本被组织到每个包源的子文件夹中。 未展开包,且缓存中有 30

FTP服务:file.delete()与file.deleteOnExit()

被刻印的时光 ゝ 提交于 2020-02-27 11:11:38
file.delete() 与 file.deleteOnExit() 之前使用 ftp 下载文件的时候会用到 File.createTempFil() 创建临时文件存储数据,用完之后就用 file.delete()与file.deleteOnExit()删除临时文件。在windows的开发环境进行测试时,临时文件会被创建在C:\Users\{当前电脑用户名}\AppData\Local\Temp该目录下。在现场环境,临时文件则会被创建在tomcat的temp文件夹下面。最近发现现场环境中temp下面居然堆积了大量的临时文件,然后查了一下代码发现是因为用了file.deleteOnExit() 。 这里得介绍一下 file.delete() 与 file.deleteOnExit() 这两个删除文件方法: file.delete() : 删除文件 ,删除的是创建File对象时指定与之关联创建的那个文件.这是一个立刻执行的操作 file.deleteOnExit() : 在 JVM进程退出的时候删除文件,通常用在临时文件的删除.这个不会立刻执行,会等到jvm进程退出的时候删除 这里看到一个”JVM 进程退出 ”,这是什么意思呢?百度一下得到: JVM 的关闭意味着将停止系统中所有的任务 按照这里的介绍,当应用关闭的时候,应该就可以把临时文件删了。然而

C# 创建快捷方式

半城伤御伤魂 提交于 2020-02-26 17:53:18
C#两种创建快捷方式的方法 用WSH直接创建快捷方式: 1.首先要添加引用. 添加引用的方法非常简单,右击你的项目并选择添加引用, 选择 COM 选项卡并选择 Windows Script Host Object Model 2.引用命名空间 using System.Runtime.InteropServices;//互动服务 using IWshRuntimeLibrary; 3.创建快捷方式(注释中有详细说明) //实例化WshShell对象 WshShell shell = new WshShell(); //通过该对象的 CreateShortcut 方法来创建 IWshShortcut 接口的实例对象 IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut( Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//ShortCut.lnk"); //设置快捷方式的目标所在的位置(源程序完整路径) shortcut.TargetPath = System.Reflection.Assembly.GetExecutingAssembly().Location; //应用程序的工作目录 //当用户没有指定一个具体的目录时

如何为当前用户获取临时文件夹

£可爱£侵袭症+ 提交于 2020-02-26 00:15:31
目前,我正在使用以下功能来获取当前用户的临时文件夹路径: string tempPath = System.IO.Path.GetTempPath(); 在某些计算机上,它为我提供了当前用户的临时文件夹路径,例如: C:\\ Documents and Settings \\ administrator \\ Local Settings \\ Temp \\ 在某些计算机上,它为我提供了系统临时文件夹路径,例如: C:\\ Windows \\ TEMP MSDN文档还说,上述API返回当前系统的临时文件夹。 是否有其他可用的API可以给我当前用户的临时文件夹路径,如下所示: C:\\ Documents and Settings \\ administrator \\ Local Settings \\ Temp \\ #1楼 我也有同样的要求-我们想将日志放在环境中应该存在的特定根目录中。 public static readonly string DefaultLogFilePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 如果要将其与子目录结合使用,则应该可以使用 Path.Combine( ... ) 。 GetFolderPath 方法的特殊文件夹选项有一个重载

FileItemFactory 接口

耗尽温柔 提交于 2020-02-22 05:49:03
转自 https://www.cnblogs.com/Lonnn/p/6866314.html 将请求消息实体中的每一个项目封装成单独的DiskFileItem (FileItem接口的实现) 对象的任务 由org.apache.commons.fileupload.FileItemFactory 接口的默认实现 由org.apache.commons.fileupload.disk.DiskFileItemFactory 来完成。当上传的文件项目比较小时,直接保存在内存中(速度比较快),比较大时,以临时文件的形式,保存在磁盘临时文件夹(虽然速度慢些,但是内存资源是有限的)。 属性 public static final int DEFAULT_SIZE_THRESHOLD :将文件保存在内存还是磁盘临时文件夹的默认临界值,值为10240,即10kb。 private File repository:用于配置在创建文件项目时,当文件项目大于临界值时使用的临时文件夹,默认采用系统默认的临时文件路径,可以通过系统属性 java.io.tmpdir获取。如下代码: System . getProperty ( "java.io.tmpdir" ) ; private int sizeThreshold:用于保存将文件保存在内存还是磁盘临时文件夹的临界值 构造方法 1. public

Redis提供的持久化机制(RDB和AOF)

一世执手 提交于 2020-02-14 17:39:00
Redis提供的持久化机制     Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。 近日,Redis的作者在博客中写到, 他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的 ,于是他写了一篇长文来对Redis的持久化进行了系统性的论述。 文章主要包含三个方面: Redis持久化是如何工作的、这一性能是否可靠以及和其它类型的数据库比较 。以下为文章内容: 一、Redis持久化是如何工作的?   什么是持久化?简单来讲就是将数据放到断电后数据不会丢失的设备中,也就是我们通常理解的硬盘上。 首先我们来看一下数据库在进行写操作时到底做了哪些事,主要有下面五个过程 : 客户端向服务端发送写操作(数据在客户端的内存中)。 数据库服务端接收到写请求的数据(数据在服务端的内存中)。 服务端调用write这个系统调用,将数据往磁盘上写(数据在系统内存的缓冲区中)。 操作系统将缓冲区中的数据转移到磁盘控制器上(数据在磁盘缓存中)。 磁盘控制器将数据写到磁盘的物理介质中(数据真正落到磁盘上)。 故障分析 写操作大致有上面5个流程, 下面我们结合上面的5个流程看一下各种级别的故障 : 当数据库系统故障时,这时候系统内核还是完好的。那么此时只要我们执行完了第3步

redis整理の持久化机制

主宰稳场 提交于 2020-02-13 05:20:03
  redis是一个支持持久化的内存数据库,也就是说 redis 需要经常将内存中的数据同步到磁盘 来保证持久化。redis 支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另 一种是 Append-only file(缩写 aof)的方式。    snapshotting方式   快照是默认的持久化方式。这种方式是就是将内存中数据以快照的方式写入到二进制文件中, 默认的文件名为 dump.rdb。可以通过配置设置自动做快照持久化的方式。我们可以配置 redis 在 n 秒内如果超过 m 个 key 被修改就自动做快照,下面是默认的快照保存配置   save 900 1 #900 秒内如果超过 1 个 key 被修改,则发起快照保存   save 300 10 #300 秒内容如超过 10 个 key 被修改,则发起快照保存   save 60 10000   下面介绍详细的快照保存过程:   1.redis 调用 fork,现在有了子进程和父进程。   2. 父进程继续处理 client 请求,子进程负责将内存内容写入到临时文件。由于 os 的实时复 制机制(copy on write)父子进程会共享相同的物理页面,当父进程处理写请求时 os 会为父 进程要修改的页面创建副本,而不是写共享的页面。所以子进程地址空间内的数据是

关于LINUX文件服务器简单搭建---NFS与APACHE服务

独自空忆成欢 提交于 2020-02-06 08:59:38
需求背景 中心工程(javaweb)下载临时文件存放在文件服务器。 文件服务器开启Apache服务实现ip+文件名直接访问临时文件。 类似于windows的IIS服务。 服务 httpd、rpcbind、nfs(安装方法很多,查询学习一下) 文件服务器Apache服务搭建 1.在文件服务器上新建一个文件夹用来存放临时文件 mkdir testfile ( 删除文件夹 rm -rf testfile ) 2. 修改服务配置 vim /etc/httpd/conf/httpd.conf 文件内容很多,主要修改Section 2下的属性 ServerName localhost:80 (没加ServerName忘了报什么错了,可以不加试试) DocumentRoot "/testfile" (必改) < Directory / > Options FollowSymLinks AllowOverride (必改) < /Directory > < Directory "/testfile" > (这个里面的属性最好不要有deny拒绝) AllowOverride ALL Order allow,deny Allow from all < /Directory > 3.文件夹授权用户和修改权限 chmod 777 testfile (文件服务器权限777) chown -R

spring-boot上传文件,临时文件地址无效

こ雲淡風輕ζ 提交于 2020-02-05 19:11:16
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.2737591724424319502.8062/work/Tomcat/localhost/ROOT] is not valid 临时文件地址无效 解决办法: 1.重启服务。 2.增加启动参数- Djava.io .tmpdir=自定义目录 3.注入配置: @Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); String location = System.getProperty("user.dir") + "/data/tmp"; File tmpFile = new File(location); if (!tmpFile.exists()) { tmpFile.mkdirs(); } factory.setLocation

Qt学习笔记之文件处理

淺唱寂寞╮ 提交于 2020-02-03 17:43:03
Qt提供了通用的文件处理类QFile和处理文本的QTextStream类和处理二进制数据的QDataStream类,这些流操作极大地方便了对文件的督促存储。对文件信息和目录进行操作的类是QfileIno,QDir和QDirIterator。要监视文件和目录变化,则可以使用QFi了SystemWatcher类。 1. 文件处理类QFile QFile类提供了一个从文件中读取和写入文件的接口。 QFile是一个用于读写文本、二进制文件和资源的I/O设备。QFile可以单独使用,或者更方便地与QTextStream或QDataStream一起使用。 文件名通常在构造函数中传递,但是可以在任何时候使用setFileName()设置它。无论操作系统如何,QFile都期望文件分隔符为'/'。不支持使用其他分隔符(例如“\”)。 可以使用exists()检查文件是否存在,并使用remove()删除文件。(QFileInfo和QDir提供了更高级的文件系统相关操作。) 用open()打开文件,用close()关闭文件,用flush()刷新文件。 通常使用QDataStream或QTextStream读取和写入数据,但是也可以调用qiodevice继承的函数read()、readLine()、readAll()和write()。QFile还继承了getChar()、putChar(