小编use*_*647的帖子

System.IO.Compression和ZipFile - 提取和覆盖

我正在使用标准的VB.NET库来提取和压缩文件.它的工作原理也是如此,但是当我必须提取文件时,问题就出现了.

我用的代码

进口:

Imports System.IO.Compression
Run Code Online (Sandbox Code Playgroud)

方法我崩溃时调用

ZipFile.ExtractToDirectory(archivedir, BaseDir)
Run Code Online (Sandbox Code Playgroud)

archivedir和BaseDir也被设置,实际上如果没有要覆盖的文件它就可以工作.这个问题恰恰出现了.

如何在不使用第三方库的情况下覆盖提取中的文件?

(注意我使用的是参考System.IO.Compression和System.IO.Compression.Filesystem)

由于文件放在已存在文件的多个文件夹中,我将避免手动

IO.File.Delete(..)
Run Code Online (Sandbox Code Playgroud)

.net vb.net compression zip system.io.compression

15
推荐指数
2
解决办法
3万
查看次数

为什么Android Studio要我使用For Each而不是For Loop?

这个问题一直困扰着我.为什么Android Studio有时会让我使用For Each而不是For Loop,因为当我使用For循环时,我会收到一个警告,我可以为每个使用(并且使用Alt + Enter它会建议我使用自动修复).

例如,假设我们有这个代码

String a = "";
String[] array = {"A","B","C"};

for(int i = 0; i < array.length; i++) {
    a += array[i];
    a += ",";
}
Run Code Online (Sandbox Code Playgroud)

我收到警告

这是Android Studio建议的修复程序

for (String anArray : array) {
        a += anArray;
        a += ",";
}
Run Code Online (Sandbox Code Playgroud)

性能更高吗?有一个原因我应该得到一个警告,实际上只使用for循环?

或者什么时候循环或每个循环更好?

java foreach for-loop android-studio

10
推荐指数
1
解决办法
2万
查看次数

如何在NSArray中加载txt文件?

如何加载由NSArray中的行划分的txt文件的内容?基本上,我有一个文件"count.txt",其中我写了元素的数量(并且它起作用),"1t.txt"表示第一行的标题,"1.txt"表示内容.我的意思是只是按值添加值.然后,当用户点击表视图的标题时,我希望他读取"*.txt"的内容(如果我有数组文件的索引,那显然很容易)

现在我用这个代码:

- (void) loadMainArray
{
    for (int i = 1; i <= max; i++)
    {
    NSString *currentNumber;
    currentNumber = [NSString stringWithFormat:@"%it", i];
    NSLog(@"%i° file read", i);
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *dataFilePath = [[NSBundle mainBundle] pathForResource:currentNumber ofType:@"txt"];
    if ([fileManager fileExistsAtPath:dataFilePath])
    {
        NSString *content = [NSString stringWithContentsOfFile:dataFilePath encoding:NSUTF8StringEncoding error:nil];
        NSArray *parsed = [content componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
        mainArray = (__bridge NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)parsed, kCFPropertyListMutableContainers);
        NSLog(@"%@", parsed);

    }
    else{
    }
    }
}
Run Code Online (Sandbox Code Playgroud)

(对不起,如果代码没有对齐,但我在stackoverflow中无法做到这么多)无论如何,在ViewLoad中调用此方法后,我得到Signal SIGABRT,我错了?

注意:也设置了max,我在NSLog中检查过.mainArray是一个NSMutableArray.

iphone objective-c

-3
推荐指数
1
解决办法
1012
查看次数