我创建了一个计算zipfile中文件数量的代码。我当前正在将信息输出到控制台上。我不确定如何开始将输出的信息放入Microsoft SQL Server中的数据库表中。我基本上只需要将它输出到Microsoft SQL server中的一个表,而不是输出到控制台。我有下面的代码:
import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Enumeration;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class KZF
{
static int findNumberOfFiles(File file) {
try (ZipFile zipFile = new ZipFile(file)) {
return (int) zipFile.stream().filter(z -> !z.isDirectory()).count();
} catch (Exception e) {
return -1;
}
}
static String createInfo(File file) {
int tot = findNumberOfFiles(file) - 1;
return (file.getName() + ": " + (tot >= 0 ? tot + " files" : "Error reading zip file"));
}
public static void main(String[] args) throws IOException {
String dirLocation = "C:\\Users\\username\\Documents\\Temp\\AllKo";
try (Stream<Path> files = Files.list(Paths.get(dirLocation))) {
files
.filter(path -> path.toFile().isFile())
.filter(path -> path.toString().toLowerCase().endsWith(".zip"))
.map(Path::toFile)
.map(KZF::createInfo)
.forEach(System.out::println);
}
}
更简单的是,您可以使用entries()方法获得ZipEntry-s在zip-file中的枚举,并检查每个枚举是否是directory():
int countRegularFiles(final ZipFile zipFile) {
final Enumeration<? extends ZipEntry> entries = zipFile.entries();
int numRegularFiles = 0;
while (entries.hasMoreElements()) {
if (! entries.nextElement().isDirectory()) {
++numRegularFiles;
}
}
return numRegularFiles;
}
问题内容: 每次访问数据库记录时,什么是最合适的和最有效的存储视图计数的方法? 我有包含以下字段的表: 每个项目都有自己的永久链接:http : //domain.com/item_name 我希望能够使用此数据并在页面上显示一个。哪种方法最好? 方法一 在表中创建一个附加字段,并对其进行更新以增加视图计数: 方法B 创建一个包含以下字段的新表: 并在每次查看页面时将新记录添加到表中。 方法C 完
我创建了一个TextView,它以多行显示值 ,我希望将该值保留在SQLite数据库中。这是我使用的代码: 问题是当我保存值时,整个值被插入到一个单元格中。我希望每行的值分开,然后插入到每行的单个单元格中,尽管我使用扫描器方法插入数据,但它不起作用。那有什么办法吗?
问题内容: 在MySQL数据库中用PHP存储IP的最佳实践是什么?有一个名为ip2long的函数-但这仅适用于IPv4。但是IPv6呢? 我知道一个用于IPv6 IP的php函数,但是在Windows上的PHP <Version 5.3上不起作用 问题答案: 可以将点分十进制IPv4地址转换为整数,最大大小为32位。IPv6地址是128位。由于128位不适合PHP int,因此在PHP中使用它会很
问题内容: 我正在遵循有关如何使用Jenkins签署Android APK的准则。我已经用KSTOREPWD和KEYPWD参数化了Jenkins的工作。Jenkins的工作配置(“构建”->“执行”外壳)的一部分是获取这些参数并将其存储为环境变量: 问题是当构建结束时,任何人都可以访问构建“控制台输出”并查看输入了什么密码;该输出的一部分: 因此,我想在命令输出之前抑制回声,并在命令之后重新启用回
当我在Android Studio上运行应用程序时,我看到了一些垃圾收集输出: 这是什么意思?(我正在阅读大型csv文件,其中有更多70k行)
我正在尝试从Firebase控制台上的实时数据库中导出JSON数据,但是对于大型节点它不起作用。 和 以前,firebase控制台以离线模式将JSON导出到节点,但现在它似乎不再工作。 有人知道是否有任何限制或有问题吗?