相关疑难解决方法(0)

如何轻松检查.NET中的文件是否被拒绝访问?

基本上,我想在实际尝试打开文件之前检查是否有权打开文件; 除非必须,否则我不想使用try/catch进行此检查.有没有我可以检查的文件访问属性?

.net c# file-access

98
推荐指数
2
解决办法
9万
查看次数

Java识别出一些文件和目录但仍然认为它们不存在

我在采用 NTFS 的 Windows 10 上使用 Java 17。有一个文件A:\\foo.bar显示在 JavaFiles.list()操作中,但是当我尝试使用 Java 读取它时,它会抛出一个java.nio.file.FileSystemException

\n
\n

A:\\foo.bar: 该进程无法访问该文件,因为该文件正在被另一个进程使用

\n
\n

没关系。还有另一个低级进程已锁定该文件。当我关闭其他进程时,Java 可以正常访问该文件。事实上,即使 Robocopy 在尝试访问该文件时也会跳过该文件(实际上 Robocopy 会显示已复制该文件,但实际上并未复制)。所以到目前为止,这并不神秘\xe2\x80\x94另一个进程正在锁定该文件以进行独占访问。

\n

但这是奇怪的部分。大多数情况下,该文件对于 Java 来说是正常的:

\n
    \n
  • 正如我提到的,该文件A:\\foo.bar显示Files.list()A:\\.
  • \n
  • 如果我调用Files.isRegularFile(fooBarFile),它会true按预期返回。
  • \n
  • 如果我调用Files.isReadable(fooBarFile),它会false按照我的预期进行转换(这在本例中很有用)。
  • \n
  • 如果我打电话,Files.readAttributes(fooBarFile, "*")我会看到属性(时间戳等)。
  • \n
  • 如果我调用Files.readAttributes(fooBarFile, DosFileAttributes.class)它会返回 DOS 属性。
  • \n
\n

但如果我调用Files.exists(fooBarFile)它就会返回false因此,被另一个进程锁定为独占访问的文件将返回falsefor exists(),在我看来,这似乎不遵循exists()其 …

java file

19
推荐指数
1
解决办法
763
查看次数

File.Exists on network == 错误?

在我的代码中我做

    if (!File.Exists(getSomePath()))
    {
        MessageBox.Show("... existing" + " " + getSomePath());
        this.Close();
    }
Run Code Online (Sandbox Code Playgroud)

我可以看到getSomePath()是正确的,但是当我在网络上打开该应用程序时,它说它不存在。当我将文件夹复制到本地驱动器时,它说它确实存在。

这是怎么回事?

c#

5
推荐指数
1
解决办法
6668
查看次数

File.Exists方法是否获得了大量资源?

那么更好的是什么?要使用这样的结构:

if (File.Exist(fileName))
{
    // do something with file...
}
Run Code Online (Sandbox Code Playgroud)

只是

try 
{
    // do something with file.
}
catch(Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)

使用方法File.Exist()会花费很多吗?

谢谢!

.net c#

4
推荐指数
2
解决办法
731
查看次数

使用C#可以测试文件上是否存在锁定

背景: 我使用偏移到文件和文件流锁定/解锁menthods来控制读/写访问.我使用以下代码来测试当前是否锁定文件

try
{
  fs.Lock( RESERVED_BYTE, 1 );
  fs.Unlock( RESERVED_BYTE, 1 );
  rc = 1;
}
catch
{ 
  rc = 0; 
}
Run Code Online (Sandbox Code Playgroud)

问题:
我的目标是消除try/catch块.有没有更好的方法来查看锁是否存在?

编辑:
注意:此问题与文件是否存在无关.我已经知道了.它是关于同步写访问.

c# locking filestream

2
推荐指数
2
解决办法
2363
查看次数

标签 统计

c# ×4

.net ×2

file ×1

file-access ×1

filestream ×1

java ×1

locking ×1