首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当您不是文件所有者时,Java File.setLastModified()在Linux上会失败。

当您不是文件所有者时,Java File.setLastModified()在Linux上会失败。这是因为在Linux系统中,只有文件的所有者或具有特权的用户才能更改文件的元数据,包括最后修改时间。

File.setLastModified()是Java中用于设置文件最后修改时间的方法。它接受一个表示时间戳的参数,并尝试将该时间戳应用于文件。但是,如果当前用户不是文件的所有者,Linux系统会拒绝该操作,导致方法调用失败。

为了解决这个问题,可以使用Linux系统提供的其他方法来更改文件的最后修改时间。一种常见的方法是使用Linux命令行工具touch。通过在终端中执行以下命令,可以更改文件的最后修改时间:

代码语言:txt
复制
touch -m -t YYYYMMDDHHMM.SS <filename>

其中,YYYY表示年份,MM表示月份,DD表示日期,HH表示小时,MM表示分钟,SS表示秒钟。将<filename>替换为要更改的文件名。

另外,如果您需要在Java程序中以非所有者身份更改文件的最后修改时间,可以考虑使用Java的ProcessBuilder类来执行touch命令。以下是一个示例代码:

代码语言:txt
复制
import java.io.IOException;

public class FileLastModifiedExample {
    public static void main(String[] args) {
        String filename = "path/to/file";
        String[] command = {"touch", "-m", "-t", "YYYYMMDDHHMM.SS", filename};

        try {
            ProcessBuilder processBuilder = new ProcessBuilder(command);
            Process process = processBuilder.start();
            int exitCode = process.waitFor();

            if (exitCode == 0) {
                System.out.println("File last modified time updated successfully.");
            } else {
                System.out.println("Failed to update file last modified time.");
            }
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

请注意,这种方法需要您的程序具有执行命令的权限,并且依赖于操作系统的命令行工具。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

微服务架构之Spring Boot(八十六)

建议只有在打算直接执行jar或war才能使jar或war 完全可执行,而不是使用 java -jar 运行它或将其部署到servlet容器。...例如,基于Debian的系统上,您可以使用以下命令启动它: $ service myapp start 如果的应用程序无法启动,请检查写入 /var/log/.log 的日志文件是否有错误...它并不是为了强化应用程序及其运行环境而应该做的 所有事情的详尽列表。 以root身份执行时,就像root用于启动init.d服务的情况一样,默认可执行脚本以拥有jar文件的用户身份运行应用程序。...相反,创建一个特定用户来运行的应用程序并使用 chown 使 其成为jar文件所有者,如以下示例所示: $ chown bootapp:bootapp your-app.jar 在这种情况下,默认可执行脚本以...使用 chmod 以便文件只能由所有者读取并使用 chown 使root成为所有者,如以下示例所示: $ chmod 400 your-app.conf $ sudo chown root:root your-app.conf

50910

初学者如何快速的上手Linux命令,这34条新手必会的命令一定得会!

在运行 Linux 操作系统需要使用 shell,一个可让访问操作系统服务的接口。大多数 Linux 发行版使用图形用户界面 (GUI) 作为其桌面,主要是为了为其用户提供易用性。...因此,如果正在考虑使用 Linux,那么学习基本的命令行将大有帮助,本文中,您将学习34 个基本的 Linux 命令,对于新手来说,非常值得学习。...Linux 基本命令 我们进入命令列表之前,需要先打开命令行。...空目录可以删除成功 非空目录删除失败 9. rm 命令 rm命令用于删除目录及其中的内容,如果只想删除目录(作为 rmdir 的替代方法),请使用rm -r。...29.history命令 使用 Linux 一段时间后,会很快注意到每天可以运行数百条命令,因此,如果您想查看之前输入的命令,运行history命令特别有用: 30. man命令 man命令可以指出某条命令怎么用

1.6K31
  • linux中dir命令的10个示例

    这dircommand 不是 Linux 中常用的命令。尽管它的工作方式更不像大多数 Linux 用户喜欢使用的[ls 命令]。我们将讨论dir命令,我们将在其中查看如何使用不同的选项和参数。...查看目录条目而不是内容 只需要列出目录条目而不是目录内容,可以使用-d选项。在下面的输出中,选项-d列出条目/etc目录。 当你使用-dl,它显示目录的长列表,包括所有者、组所有者、权限。...一个inode Linux 系统中是文件系统上的数据存储,用于存储有关文件的信息,除了filename及其实际数据。...# dir -ashlt /home/kone 6.列出没有所有者或组所有者文件 要列出没有所有者文件必须使用-g选项类似于-l选项只是它不打印出文件所有者。...并列出没有组所有者文件使用-G选项如下。 # dir -ahgG /home/kone 正如从上面的输出中注意到的那样,文件所有者和组所有者的名称没有打印出来。

    1.7K10

    Linux访问控制列表指南

    很有可能,选择的 Linux 发行版 已经启用了 ACL(ACL 实际上是文件系统的功能)。 简要回顾标准 Linux 权限 您可以使用 chmod 命令配置标准 Linux 权限。...您可以将这些访问级别分配给三个身份: 用户(所有者):拥有该文件的单个用户帐户(默认情况下,这是文件创建者)。 组:/etc/group 文件中显示的一个用户组。...但是,这种方法共享系统、启用了文件共享功能的系统或具有大量 SSH 远程访问的设备上会变得更加繁琐。 这就是文件系统 ACL 功能派上用场的地方。它允许为多个用户和/或组配置不同的访问级别。...实$$际上,ACL 与标准权限协同工作,因此仍然可以使用基本的用户 (u)、组 (g) 和其他 (o) 身份。您是在补充常规权限,而不是替换它们。...排查看似神秘的访问问题,不要忘记考虑 ACL。

    7510

    Java 中文官方教程 2022 版(八)

    需要创建格式化输出流,请实例化PrintWriter,而不是PrintStream。...例外情况是符号链接被删除或重命名,链接本身被删除或重命名,而不是链接的目标。...您有多个进程文件系统的同一区域上操作,并且需要保证每个进程访问完整的文件,这一点就很重要。 方法链 许多文件 I/O 方法支持方法链的概念。 首先调用返回对象的方法。...测试文件的存在,可能有三种结果: 验证文件存在。 验证文件不存在。 文件的状态未知。程序无法访问文件,会出现此结果。...例如,支持 POSIX 标准集(如 UNIX)的文件系统上,您可以创建文件指定文件所有者、组所有者文件权限。管理元数据页面解释了文件属性,以及如何访问和设置它们。

    5500

    linux RWX权限的解读

    Linux的权限不是很细致,只有RWX三种 r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有 浏览 目录的权限。...Linux 权限模型通过允许给每个文件系统对象设置三种独立的权限级别来工作 — 它们为文件所有者文件的组以及所有其他用户。...Umask 进程创建了新文件,它指定新文件应该具有的权限。通常,所请求的模式是 0666(每个人可读和可写),它比我们希望的具有更多的权限。...介绍 suid 和 sgid 最初登录,将启动一个新的 shell 进程。...设置了一个可执行程序的“suid”这一位,它将代表可执行文件所有者运行,而不是代表启动程序的人运行。现在,回到 /etc/passwd 问题。

    3.6K10

    linux】权限

    umask 定义了当文件或目录被创建,哪些权限不应被设置。 Linux系统中,文件通常默认具有666(-rw-rw-rw-)的权限,而目录通常默认具有777(drwxrwxrwx)的权限。...从默认权限中减去umask值,结果是新文件或目录最终的权限。...粘滞位设置目录上,它影响该目录中文件的删除。粘滞位可以确保只有文件所有者或根用户(root)可以删除或重命名目录内的文件。这一特点特别对公共目录很有用,如/tmp。...查看粘滞位 当你使用 ls -l 命令列出一个设置了粘滞位的目录,目录权限列表的最后一位不是 x 而是 t 或 T,表明粘滞位被设置。 如果可执行位也被设置(任何其他用户都有执行权限),显示 t。...一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由 一、超级管理员删除 二、该目录的所有者删除 三、该文件所有者删除 权限设置表示法 使用八进制数字设置粘滞位,前面会增加一个

    7010

    Hadoop3.0通用版集群安装高可靠详细教程

    /a.sh来执行shell是一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同它就是本shell中执行的,所以可以看到结果 补充2:Linux环境变量配置文件的区别...(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.bash shell被打开,该文件被读取(即每次新开一个终端,都会执行bashrc)。...(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,登录以及每次打开新的shell,该该文件被读取。...(5) ~/.bash_logout: 每次退出系统(退出bash shell),执行该文件....X 只有目标文件对某些用户是可执行的或该目标文件是目录才追加x 属性。 s 文件执行时把进程的属主或组ID置为该文件文件属主。

    1.3K100

    python0029_放入系统路径_PATH_chmod_程序路径_执行原理

    这两个启动的位置不同 更明确说 就是可执行文件的路径不同 $PATH中谁靠前就执行谁下面的命令 类似的需求很多 比如有两个不同版本的 tomcat 或者两个不同版本的 java 或者不同版本的... /usr/bin 当中找到了python3 就不往后找了 然后执行 /usr/bin 中找到的 python3 只要这个路径 /usr/bin $PATH 中 系统执行命令 就会去...教程 学完python之后可以去《oeasy教玩转linux》 看看一些shell命令的细节 分析 sleep.py这个文件 拥有者(owner) 是root 用户组(group) 是 root...回忆拷贝过程 回忆一下拷贝的时候 直接拷贝失败了 ​ 编辑 只能提权进行拷贝 这时候cp执行者就不是shiyanlou了 而是root ​ 编辑 此后sleep.py就进入了/usr/bin...但是只能被文件所有者root调用 我想让普通用户也能执行sleep.py 可以吗?

    73920

    提高Linux安全性:14项检查建立安全的Linux服务器

    1 – 记录主机信息 每当正在使用新的Linux主机进行安全增强需要创建一个文档并记录本文档中列出的项目,工作完成后,您将需要检查这些项目。...另外,开始该文档,需要记录有关Linux主机的信息: 设备名称 IP地址 MAC地址 负责安全提升工作的人(实际上是你) 日期 资产编号(如果正在开展业务,则需要记录设备的资产编号) 2 – BIOS...磁盘加密非常重要,因为的电脑被盗,即使小偷将的硬盘驱入自己的电脑仍然无法读取的数据。 在下图中,选择列表中的第三个选项:引导使用整个磁盘并设置加密的LVM(LVM代表逻辑卷管理器)。 ?...如果Linux发行版不支持加密,则可以选择使用TrueCrypt等加密软件。 ? 4 – 磁盘保护 数据备份是一个很好的习惯,系统崩溃或系统更新失败,突出显示备份的优点。...首先打开“fstab”文件。 ? 接下来,添加下图所示的最后一行数据。 ? 完成此步骤后,需要执行以下命令来设置文件所有者: ?

    2.2K61

    Linux文件权限工作原理

    使用 sudo ,系统可能会提示输入密码。...本节介绍管理 Linux 权限所需的权限和身份。 了解访问级别 Linux 权限提供三种访问级别:读、写和执行。它们的行为应用于文件或目录略有不同。...下表解释了读、写和执行权限应用于文件的含义。 权限 字符 描述 读 r 查看文件内容 写 w 修改文件内容 执行 x 如果文件是程序或脚本,则运行它 此表显示了读、写和执行权限如何应用于目录。...身份 字符 描述 用户(所有者) u 文件或目录的创建者或关联身份。 组 g 与文件或目录关联的一个组。 其他 o 所有不是用户或组的帐户。 三种访问级别(rwx)可以应用于三种身份(ugo)。...:group FILE 考虑以下示例,需要将 fsmith 帐户设置为 password-reset.txt 文本文件所有者,您是本教程开始创建的: $ chown fsmith password-reset.txt

    9310

    Linux下用户组、文件权限详解

    用户组 linux中的每个用户必须属于一个组,不能独立于组外。...linux中每个文件所有者、所在组、其它组的概念 所有者 所在组 其它组 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件所有者 用ls ‐ahl命令可以看到文件所有者...也可以使用chown 用户名 文件名来修改文件所有者 文件所在组 某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组 用ls ‐ahl命令可以看到文件的所有组 也可以使用chgrp 组名.../abc:改变abc这个目录及其下面所有的文件和目录的所有者是root 改变用户所在组 添加用户,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组 usermod ‐...】以dennis用户登录,修改目录/home/dennis及Hello.java文件的读写权限(更正:修改目录权限的时候,应该使用770,而不是760,否则权限不足) ?

    3.5K40

    TryHackMe之Linux提权

    进行真实环境的渗透测试,很少能够获得直接的管理员访问权限来建立立足点(初始访问)。...也可以配合-t和-u使用;-tp选项列出带有服务名称和 PID 信息的连接,PID/Program name列为空指这个进程属于另一个用户;-i选项显示网络接口统计信息;-ano选项是一种常见使用方式...可以根据的发现,您可以使用搜索引擎搜索现有的漏洞利用代码,也可以https://www.linuxkernelcves.com/cves搜索,或者使用像LES(Linux Exploit Suggester...Cron Jobs提权 Cron jobs用于特定时间运行脚本或二进制文件。默认情况下,它们以其所有者不是当前用户的权限运行。...对于任何未内置于 shell 或未使用绝对路径定义的命令,Linux 将开始 PATH 下定义的文件夹中搜索。如果的用户具有写入权限的文件夹位于PATH中,您可能会劫持应用程序来运行脚本。

    1.3K30

    腾讯云产品使用指南(2024)

    购买云服务器选择的配置方式不同,初始密码的获取方式也将不同。 如果通过快速配置的方式进行购买云服务器,云服务器的初始密码将会以电子邮件和控制台站内信发送给。...购买云服务器,系统会以电子邮件和控制台 站内信 方式将初始密码发送给。...注意:Linux 云服务器处于 CPU 高负荷状态,可能出现无法登录状态。 使用 VNC 登录 Linux 实例。注意:Linux 云服务器处于 CPU 高负荷状态,控制台可以正常登录。...03.域名注册常见问题及解答 01 实名认证失败的原因是什么? 域名所有者与证件信息不一致。请你核实域名所有者与提交的证件信息是否完全一致,如不一致,请你将信息修改一致后再次提交审核。...域名为个人类型的你需要提交与域名所有者一致的身份证扫描件,域名为企业类型的需要提交与域名所有者一致的营业执照或者组织机构代码证。 域名资料不完整,你就需要补充完整域名信息后重新提交实名认证申请。

    14110

    Universal-Image-Loader源码分析,及常用的缓存策略

    LruMemoryCache:一种使用强引用来保存有数量限制的Bitmap的cache(空间有限的情况,保留最近使用过的Bitmap)。每次Bitmap被访问,它就被移动到一个队列的头部。...Bitmap被添加到一个空间已满的cache队列末尾的Bitmap会被挤出去并变成适合被GC回收的状态。 注意:这个cache只使用强引用来保存Bitmap。...缓存的大小超过原来设定的maxSize应该是trimToSize(...)这个函数中做到的。...其次,之前我们直到LruMemoryCache的get操作其实是通过其内部字段LinkedHashMap.get(...)实现的,LinkedHashMap的accessOrder==true,每一次....build(); ImageLoader.getInstance().init(config); 在做网络请求的时候,我们也做些配置,如网络请求之前默认什么背景,请求完成后,请求失败后怎么显示我们都可以

    73590

    解析Java为什么不接受合法的HTTPS证书

    (PKIXValidator.java:382) ... 33 more 这个错误表明Java虚拟机在请求远程HTTPS服务器无法验证证书的有效性,由于担心HTTPS中间人劫持,所以抛出错误警告调用者...不同的证书类型浏览器标识上会享受不同的待遇,例如EV、OV证书浏览器地址栏上会显示企业名称,当然也意味着你向CA机构申请证书要付更多的钱,走更多的审核流程。...HTTPS/SSL证书是一种非对称加密技术,HTTPS/SSL证书中包含了所有者的一些基本信息和对外公开的公钥,也就是说HTTPS/SSL证书其实就是所有者的一张名片,但是谁能证明这张名片上的信息是否属实呢...浏览器成功地完成了整条证书链的校验,所以认为证书是合法的;而在Java中未能完成整条证书链的校验,例如无法验证某个中间证书颁发机构的合法性,所以导致最终认证失败。...中无法验证整条证书链的有效性,所以导致Java程序通过HTTPS协议访问chatbot.cn域名发生证书错误。

    2.1K50

    Maven pom 中配置依赖机制

    注意,不鼓励使用这个元素,并且新的版本中该元素可能被覆盖掉。该元素为依赖规定了文件系统上的路径。需要绝对路径而不是相对路径。推荐使用属性匹配绝对路径,例如${java.home}。...项目 x 依赖于项目 y ,x 只依赖于 y,而不依赖于 y 的可选依赖项 z。项目 x 的所有者可以根据自己的选择显式地添加对 z 的依赖项。...如果直接在项目 c 中使用组件,并且没有项目 a 中指定项目 c,那么项目 b 突然更新/移除它对项目 c 的依赖,可能会导致构建失败。...直接指定依赖项的另一个原因是,它为的项目提供了更好的文档: 您可以通过项目中读取 POM 文件或者通过执行 mvn dependency:tree来了解更多信息。...与 compile 相比,跳过编译而已,说实话终端的项目(非开源,企业内部系统)中,和 compile 区别不是很大。

    1.9K40

    打开文件open()函数的使用方法详解

    此外, 若O_CREAT 与O_EXCL 同时设置, 并且欲打开的文件为符号连接, 则会打开文件失败. O_NOCTTY 如果欲打开的文件为终端机设备, 则不会将该终端机当成进程控制终端机....O_APPEND 读写文件时会从文件尾开始移动, 也就是所写入的数据会以附加的方式加入到文件后面....O_NOFOLLOW 如果参数pathname 所指的文件为一符号连接, 则会令打开文件失败. O_DIRECTORY 如果参数pathname 所指的文件并非为一目录, 则会令打开文件失败。...参数mode 则有下列数种组合, 只有在建立新文件才会生效, 此外真正建文件的权限会受到umask 值所影响, 因此该文件权限应该为 (mode-umaks)....S_IRWXU00700 权限, 代表该文件所有者具有可读、可写及可执行的权限. S_IRUSR 或S_IREAD, 00400 权限, 代表该文件所有者具有可读取的权限.

    1.9K60
    领券