我正在寻找一个免费的java库,它允许我将部分文件系统组织为一个物理文件.我已经排除了Apache VFS,因为我需要一种独特的格式,很难为别人解析,而不是拉链,焦油等.有没有可用的解决方案?谢谢你的任何建议.
编辑:随机访问内容也是优先事项
我在另一个zip文件中有一个zip文件(让我们说'inside.zip')(让我们说'outside.zip').我正在使用Apache的common-vfs2 Java库并提供一个像zip:file:///path/to/outside.zip打开zip文件的uri .但是,它无法打开外部存在的zip文件.例如,它说它的文件不是文件夹而且找不到任何子文件zip:file:///path/to/outside.zip!/inside.zip.什么是使用该库的最佳方式(我正在寻找合适的uri)所以我可以在另一个zip文件中打开zip文件?
基本上我需要实现一个程序来充当用户空间文件系统,该系统实现非常简单的操作,例如查看磁盘上的内容,将文件复制到本机文件系统或从本机文件系统复制到我的文件系统(包含在单个文件中)称为"disk01")并从我的文件系统中删除文件.
我基本上正在寻找跳板或一些提示,我可以从哪里开始,因为我不确定如何创建我自己的"磁盘"并将其他文件放入其中,这是一个家庭作业.
只是一个寻找方向的C++学生.
编辑:
我知道这个概念已经在几个不同的地方用作"VFS"或虚拟文件系统,有点像zip文件(你只能通过一个可以处理zip文件的程序查看内容).我基本上都在尝试编写类似于zip或winrar等的自己的程序,但不是那么复杂和功能丰富.
感谢您的建议到目前为止!你们都是一个巨大的帮助!
我正在使用commons VFS来监视某些文件夹的更改(主要是插入新文件),程序应该永久运行,我使用下面的代码
FileSystemManager fsManager = VFS.getManager();
FileObject listendir = fsManager.resolveFile(path);
DefaultFileMonitor fm = new DefaultFileMonitor(new VfsListener());
fm.setRecursive(true);
fm.addFile(listendir);
fm.start();
Run Code Online (Sandbox Code Playgroud)
其中path是文件夹路径,VfsListener是一个实现FileListener的类,当我运行它运行的程序然后立即关闭,当我在fm.start()之后添加它时:
Thread.sleep(100000)
Run Code Online (Sandbox Code Playgroud)
程序运行了一段时间,然后在超时后关闭,我不希望这样,我希望程序永久朗姆酒,如果有人知道请回复
我正在寻找一种在Python中创建虚拟文件系统以创建目录和文件的方法,然后再将这些目录和文件写入磁盘。
使用PyFilesystem,我可以使用以下内容构造一个内存文件系统:
>>> import fs
>>> dir = fs.open_fs('mem://')
>>> dir.makedirs('fruit')
SubFS(MemoryFS(), '/fruit')
>>> dir.makedirs('vegetables')
SubFS(MemoryFS(), '/vegetables')
>>> with dir.open('fruit/apple.txt', 'w') as apple: apple.write('braeburn')
...
8
>>> dir.tree()
??? fruit
? ??? apple.txt
??? vegetables
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望能够执行以下操作:
dir.write_to_disk('<base path>')
Run Code Online (Sandbox Code Playgroud)
要将此结构写入磁盘,<base path>将在其中创建此结构的父目录在哪里。
据我所知,PyFilesystem无法实现这一目标。还有什么我可以代替的,还是我必须自己实现?
有什么想法使用哪个Maven存储库来使用Apache公共VFS库?谢谢.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2</artifactId>
<version>2.1-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
**编辑**:以下存储库工作正常:
<repository>
<id>commons-vfs</id>
<name>Apache Commons VFS Repository Group</name>
<url>https://repository.apache.org/content/groups/snapshots/</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
Run Code Online (Sandbox Code Playgroud) 在编写驱动程序时,我遇到了下面提到的问题。
假设多线程应用程序通过相同的 FD 访问相同的设备文件。考虑在对 OPEN 和 RELEASE 的调用之间,线程组相互持有一些资源(比如互斥锁)。这些资源在 READ/WRITE 调用期间使用,然后最终在 RELEASE 期间放弃或销毁。
如果在 READ/WRITE 期间有一个线程访问资源,而另一个线程同时通过调用 close 调用 RELEASE,则 VFS 如何确保在 READ、WRITE 或 READ 中至少有一个线程之前不会调用 RELEASE喜欢。什么机制处理这种保护?
我想知道 Linux 内核中的缓冲区缓存是否存在于 UDF for DVD 和 FUSE 等文件系统中?
我试图搜索这个,但不幸的是发现的信息很少。
谢谢。
我在 WSO2 VFS 系统上遇到了一个小问题。我有一个简单的入站端点,它每 5 秒扫描一个文件夹以读取 CVS 文件。我想处理文件名不是预期的情况。我用错误序列进行了管理,但仍然出现技术错误:
ERROR - FilePollingConsumer Error moving file : file:///C:/Servers/Flux/Input/UESMGEN_2AAB_20160729.csv to file:///C:/Servers/Flux/Output/Process/ org.apache.commons.vfs2.FileSystemException: Could not rename "
Run Code Online (Sandbox Code Playgroud)
我使用了 transport.vfs.MoveAfterFailure 但文件被移动到了 transport.vfs.MoveAfterProcess 路径。我认为这是由于技术错误造成的。
但是当我用正确的文件测试我的序列时,一切顺利。
对此有何想法?谢谢你的帮助
我的配置是尝试获取一个xml文件(下面的内容).我使用VFS参数编写了一个代理服务(可在下面找到).但是我在执行期间遇到这些错误.该文件未从该位置获取.
错误信息:
[2014-07-11 20:30:28,878] ERROR - VFSTransportListener Error processing File URI : file:///C:/wso2VFS/wso2Input/order_in.xml
org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found Orderdetail
输入XML文件(Order_in.txt)
<?xml version="1.0" encoding="UTF-8"?>
<Orderdetail xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation='C:\wso2VFS\wso2Input\order_input.xsd'>
<Order>
<orderid>20000</orderid>
<itemname>Apple iphone</itemname>
<storenumber>6932</storenumber>
<address>Mooresville</address>
<zipcode>28117</zipcode>
<ordertotal>6712</ordertotal>
</Order>
</Orderdetail>
Run Code Online (Sandbox Code Playgroud) 我们在Windows机器上禁用了smbv1,现在我们无法使用smb2连接我们使用commons-vfs2(2.0)和commons-vfs2-sandbox(2.0)这里是我的代码:
@Test
public void testConnection() throws FileSystemException {
String folder = "\\\\10.0.0.0\\smb";
folder = folder.replaceAll("\\\\", "/");
StringBuilder builder = new StringBuilder(128).append(Protocol.CIFS.getProtocolPrefix()).append(':')
.append(folder);
String fileURI = builder.toString();
System.out.println(fileURI);
FileSystemOptions fsOptions = null;
String password = "mAdmin";
String username = "myPassword";
String domain = "";
StaticUserAuthenticator auth = new StaticUserAuthenticator(domain, username, password);
fsOptions = new FileSystemOptions();
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(fsOptions, auth);
FileSystemManager manager = VFS.getManager();
FileSystemManager fileSystemManager = manager;
FileObject fileObject = fileSystemManager.resolveFile(fileURI, fsOptions);
boolean result = fileObject.isReadable();
System.out.println(fileURI +" " + result);
}
Run Code Online (Sandbox Code Playgroud)
这就是我禁用smb …
我需要在内存缓冲区中加载/保存 SQLite 数据库。为此,我想将 memvfs 扩展嵌入到 sqlite3 代码中,并将其完全编译为 sqlite3.dll。
怎么办?
更新1:
我想使用 memvfs 作为临时内存缓冲区。我的程序将数据从网络加载到缓冲区,连接到这个内存缓冲区并将数据恢复到空的内存数据库中。我认为将 memvfs 包含到 sqlite 合并中会提高性能。
更新2:
如果您想使用 memvfs 扩展,请注意源代码中自述注释中的错误。使用“PRAGMA journal_mode= OFF ”代替“journal_mode=NONE”
更新3:
memvfs.c 中的另一个错误 - 对 URI 中的 maxsz 参数使用“max”而不是“maxsz”。sqlite 开发人员仔细设置了一个耙子 :(
我正在尝试使用 pdfmaker 生成 PDF。在我的代码中它没有显示任何错误。但是在编译时它显示以下错误。而且 pdf 也在工作和生成。
错误 TS2540:无法分配给“vfs”,因为它是只读属性。
> 19 pdfMake.vfs = pdfFonts.pdfMake.vfs;
> ~~~
> src/app/component/invoice/invoice.component.ts:235:25 - error TS2345: Argument of type '{ content: ({ text: string; fontSize:
> number; alignment: string; color: string; bold?: undefined;
> decoration?: undefined; style?: undefined; columns?: undefined; } | {
> text: string; fontSize: number; bold: boolean; ... 4 more ...;
> columns?: undefined; } | { ...; } | { ...; })[]; styles: { ...; }; }'
> is not assignable to …Run Code Online (Sandbox Code Playgroud) vfs ×13
java ×4
filesystems ×3
linux-kernel ×2
wso2 ×2
wso2esb ×2
angular ×1
c++ ×1
caching ×1
compression ×1
linux ×1
maven ×1
mutex ×1
pdfmake ×1
proxy ×1
python ×1
python-3.x ×1
repository ×1
smb ×1
sqlite ×1
xml ×1
zip ×1