gpt4 book ai didi

Java:从打开的 RandomAccessFile 实例中获取文件名

转载 作者:行者123 更新时间:2023-11-30 09:43:46 25 4
gpt4 key购买 nike

如何从打开的 RandomAccessFile 实例中获取文件名?

我只能找到以下与文件本身相关的方法:

  • getFD() :返回一个 FileDescriptor 对象
  • getChannel() :返回一个 FileChannel 对象

我想获取一个 File 类实例,或者直接获取我传递给 RandomAccessFile 构造函数的文件名字符串:

RandomAccessFile(File file, String mode) 

谢谢!

最佳答案

我正在添加我的评论(以上)作为您考虑/投票的答案(我想要声誉!)

应将 RandomAccessFile 的使用视为实现细节。不要在您的代码周围传递它。您可能很快就会发现您希望以前依赖于 RAF 的东西与其他东西一起工作——也许是远程系统。从您正在做的事情中取出业务逻辑/行为并将其放入界面中。在将 File 和 RandomAccssFile 作为成员变量存储的类中实现该接口(interface)。这确保您始终可以访问两者。您甚至可以使用 URI - File 将其作为构造函数参数。这是一件非常开放和合理的事情——所以如果你有一个接口(interface) Foo:

interface Foo {
public URI getUri();

public void doSomething();

public Bar doSomethingElse();
}

你可以有一个:

class FileBasedFoo implements Foo {
private File file;
private RandomAccessFile raf;

// ... your impl here
}

在你的代码中任何你使用过 Foo 的地方,现在都可以透明地切换到..

class RpcFoo implements Foo {
// ... some SOAPy implementation here
}

class RestFoo implements Foo {
// ... you get the idea
}

关于Java:从打开的 RandomAccessFile 实例中获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8215963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com