当前位置: 首页 > 知识库问答 >
问题:

需要将控制台输出存储在数据库表中

张嘉佑
2023-03-14

我创建了一个计算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);

        }

    }

共有1个答案

孟晨朗
2023-03-14

更简单的是,您可以使用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导出到节点,但现在它似乎不再工作。 有人知道是否有任何限制或有问题吗?