ZIP条目存储条目的完整路径名,因为(我确定下一部分)ZIP存档未组织为目录.元数据包含有关如何存储文件的信息(内部目录).
如果我在Windows中创建ZIP文件,当我在另一个操作系统(例如Mac OS X)中解压缩数据时,文件结构将保持与以前一样在Windows中.这是因为unzipper是为处理这个而设计的,还是因为ZIP中的文件分隔符是标准的?
我问这个是因为我试图使用压缩文件的名称在ZIP文件中找到一个条目.但是我应该使用哪个文件分隔符使其在Windows以外的系统中运行?
我使用Java和方法:.getName()的ZipEntry让我使用Windows文件分隔符的路径\.如果我使用java File.separator分隔符使其在另一个操作系统上工作,这是否足够?或者我是否必须尝试使用每个可能的分隔符找到我的文件?
我Files.WalkFileTree()用来导航文件夹和计算音频文件,但遇到tar文件时出现问题,它似乎将它视为一个实际的文件夹我期望它只是跳过它.
我看不到任何让我控制这种行为的选项
码:
package com.jthink.songkong.fileloader;
import com.jthink.songkong.cmdline.SongKong;
import com.jthink.songkong.ui.MainWindow;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.concurrent.Callable;
import java.util.logging.Level;
/**
* Count the number of files that can be loaded, for information purposes only
*/
public class CountFilesinFolder implements Callable<Boolean> {
public static class CountFiles
extends SimpleFileVisitor<Path> {
private int fileCount = 0;
private final PathMatcher matcher;
CountFiles(String pattern) {
matcher =
FileSystems.getDefault()
.getPathMatcher("regex:" + pattern);
}
/**
* Find Music file
*
* @param file
* @param attr
* …Run Code Online (Sandbox Code Playgroud)