拒绝访问/ 客户端没有所需的特权at java.io.WinNTFileSystem.createFileExclusively(Native Method) ,createTempFile

7.6Java 实例 - 创建临时文件

以下实例演示了使用 File 类的 createTempFile(String prefix, String suffix); 方法在默认临时目录来创建临时文件,参数 prefix 为前缀,suffix 为后缀:
Main.java 文件

import java.io.*;

public class Main1 {//7.6
    public static void main(String[] args) throws Exception {
        File temp = File.createTempFile("testrunoobtmp", ".txt");//创建临时txt文档
        System.out.println("文件路径: "+temp.getAbsolutePath());//获取绝对路径
        temp.deleteOnExit();
        /**
         * void deleteOnExit() 
请求在虚拟机终止时删除由此抽象路径名表示的文件或目录。  
         */
        BufferedWriter out = new BufferedWriter(new FileWriter(temp));
        out.write("aString");//缓冲区
        System.out.println("临时文件已创建:"+temp.getName());
        out.close();//写入
    }
}
文件路径: C:\Users\xyt\AppData\Local\Temp\testrunoobtmp4681133015210356599.txt
临时文件已创建:testrunoobtmp4681133015210356599.txt

也可以使用

createTempFile(String prefix, String suffix, File directory)

中的 directory 参数来指定临时文件的目录:

createTempFile

import java.io.File;
public class Main1 {
	 
	   public static void main(String[] args) {      
	      File f = null;
	            
	      try {
	      
	         // 创建临时文件
	         f = File.createTempFile("tmp", ".txt", new File("C:/"));
	         
	         // 输出绝对路径
	         System.out.println("File path: "+f.getAbsolutePath());
	         
	         // 终止后删除临时文件
	         f.deleteOnExit();
	         
	         // 创建临时文件
	         f = File.createTempFile("tmp", null, new File("D:/"));
	         
	         // 输出绝对路径
	         System.out.print("File path: "+f.getAbsolutePath());
	         
	         // 终止后删除临时文件
	         f.deleteOnExit();
	         
	      } catch(Exception e) {
	      
	         // 如果有错误输出内容
	         e.printStackTrace();
	      }
	   }
	}
java.io.IOException: 拒绝访问。
	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
	at java.io.File.createTempFile(Unknown Source)
	at E7.Main1.main(Main1.java:34)

解决方案:右击计算机D盘,打开属性,属性—>安全---->编辑,然后把除完全控制的其他权限增加上,再运行发现还不行如下

最后点确定

java.io.IOException: 客户端没有所需的特权。
	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
	at java.io.File.createTempFile(Unknown Source)
	at E7.Main1.main(Main1.java:34)

改34行代码 f = File.createTempFile("tmp", ".txt", new File("D:/"));
总结:
没有权限
1.更改磁盘权限
2.换个磁盘创建文件
3.换个路径
在这里插入图片描述

在这里插入图片描述

运行·结果·

File path: D:\tmp1762065882920994487.txt
File path: D:\tmp6571140473236847129.tmp
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的点赞我的光

我的第一次被打赏在哪?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值