小编mak*_*chi的帖子

使控制台等待用户输入关闭

我有一个控制台应用程序,在执行其任务后,必须向用户提供反馈,例如"操作已完成"或"操作失败"以及详细错误.

问题是,如果我只是"让它运行",输出消息将被打印,但控制台将很快关闭,没有时间阅读消息.

据我所知,在C++中,每个控制台应用程序都将以"按任意键退出"或类似的结尾.在C#中我可以用a来模拟这种行为

Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

但是我怎么能用Java做呢?我正在使用Scanner类,但鉴于"输入"是我的Scanner实例:

input.next()
System.exit(0);
Run Code Online (Sandbox Code Playgroud)

"任何关键"都可以使用,除了返回,这在这里是非常重要的.有什么指针吗?

java console-application

74
推荐指数
6
解决办法
19万
查看次数

在C#中使用List <T>(泛型)

这是一个非常基本的问题,但我以前从未研究过仿制药,我发现自己需要使用它.不幸的是,我现在没时间通过任何教程,到目前为止我找到的相关问题的答案并不是人们可以称之为基本的,所以我们去:

假设我有以下内容:

List<MyClass1> list1 = getListType1();
List<MyClass2> list2 = getListType2();

if (someCondition)
    MyMethod(list1);
else
    MyMethod(list2);
Run Code Online (Sandbox Code Playgroud)

而且当然

void MyMethod(List<T> list){
    //Do stuff
}
Run Code Online (Sandbox Code Playgroud)

好吧,我认为这很简单,但显然不是.VS警告我

无法从用法推断出方法MyMethod(System.Collections.Generic.List)的类型参数

无论如何,如果我编译它,我会得到一个

找不到类型或命名空间名称"T"

错误.

在我找到的许多答案中,我读到我必须声明什么T是有意义的,但是我不能完全理解如何在如此简单的场景中这样做.当然,那些答案在我的脑海中创造了更多的问题,但是现在我只想解释一下我做错了什么(除了不研究泛型)以及如何使它正确.

c# generics

26
推荐指数
3
解决办法
7万
查看次数

在模板中使用模板 - eclipse

当我在从.net到Java的过渡中慢慢爬行时,我发现越来越多关于eclipse IDE的有趣事情.我最近偶然发现了它的模板,我很喜欢它.这带给我一个问题:我可以在模板中调用模板吗?当然它只是一个复制和粘贴的问题,但我想知道它是否可以完成.

java eclipse

8
推荐指数
1
解决办法
657
查看次数

Java 1.4:将原始类型转换为Object(耦合与性能?)

这实际上与我之前提到过的一个问题有关,但我还是留在这个细节上.我只限于Java 1.4,我想将int类型转换为Object.我真的需要使用一个Integer类对象,或者有一种直接投射它的方法(在1.4中没有自动装箱).这种"手动装箱"的成本是否值得将整个类从第3层导入第1层,从而增加耦合?

java performance coupling

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

在使用命令行工具构建时,如何添加.jar文件依赖项?

非常直截了当的问题.可以在不使用蚂蚁或Maven的情况下完成吗?(而且,我的意思是命令行工具)

请注意,我不想创建一个uberjar,我只是希望已归档的单元"知道"它的外部依赖关系.

java jar

5
推荐指数
2
解决办法
9666
查看次数

如何返回 ASP.NET Core 中存储为 byte[] 的文件?

我已经搜索了一段时间,虽然它应该很简单,但我就是无法让它工作。根据我见过的例子,这是我到目前为止得到的:

SomeAppService.cs

public async Task<FileStream> Download(long? id)
{
    var attachment = await _repository.FirstOrDefaultAsync(x => x.Id == id);

    var fileStream = new FileStream($"{attachment.FileName}.{attachment.FileExtension}", 
        FileMode.Create, FileAccess.Write);
    fileStream.Write(attachment.File, 0, attachment.File.Length);

    return fileStream;
}
Run Code Online (Sandbox Code Playgroud)

可以注意到,“FileName”、“FileExtension”和“File”(即前述的字节数组)存储在数据库中。附件可以是任何类型的文件,但上传方法中禁止的扩展名除外(未显示)。然后在我的控制器中我有:

SomeController.cs

[AllowAnonymous]
[HttpGet("Download/{id}")]
public async Task<IActionResult> Download(long? id)
{
    var fileStream = await appService.Download(id);
    return new FileStreamResult(fileStream, "application/octet-stream");
}
Run Code Online (Sandbox Code Playgroud)

然而,当我到达下载端点时,我最终得到一个名为“response”的文件,没有扩展名,大小为 0 字节。

资源:

ASP.Net Core Web API 中返回文件

从 byte[] 返回 FileResult

将 MemoryStream 保存到文件或从文件加载(255 个赞成票的响应让我了解了如何将字节数组转换为文件流,但我不知道这是否有效)

c# filestream asp.net-core asp.net-core-webapi

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

在Java中创建和读取自定义文件类型

我正在创建一个安装程序,并且在安装过程中必须读取一些资源文件(.xmls,.zip文件,.jar文件等),但我想将它们打包到自定义文件中(即, .dat文件)这样,当分发时,用户不会过多地使用它们.问题是安装程序必须用Java编写,我以前从未用任何编程语言做过这种事情.它甚至可能吗?如果是这样,我怎么能以之后可以被我的Java应用程序读取的方式打包它,如何让我的Java应用程序读取它?

java

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

Maven的新功能:使用阴影插件和第三方罐子

这应该很简单,但我无法绕过它.我需要使用第三方罐子创建一个uberjar.我已经按照这些说明操作了:包含一个非Mavenized依赖项,以便它与maven-shade-plugin一起使用并将它们添加到本地存储库中.但现在呢?每个Maven教程/示例都有点阴暗(双关语),我只是不知道如何正确编辑.pom文件以使其工作.

此外,我对整体阴影"插件"感到困惑.我的意思是,我遵循了基本的Maven教程,它一切都很好,花花公子.但是当我查看树荫插件页面时,除了源代码之外我找不到它下载.我的意思是,这不是一个插件吗?我不应该下载二进制文件并以某种方式将其安装到Maven中吗?

对于极端的noobish问题感到抱歉,但不用说,我知道对Maven的蹲坐.

maven-2 jar maven

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

获取从抽象类继承的对象列表中所有派生类型的 List&lt;Type&gt;

我见过很多关于从基本类型获取所有类型等的问题,但这并不是我所需要的。例如,我有一个抽象基类:

public abstract class BasePart
{
    //whatever 
}
Run Code Online (Sandbox Code Playgroud)

我有很多从它派生的类。喜欢...

public class HorizontalPanel : BasePart { //code }
public class VerticalPanel : BasePart { //code }
public class RainBoard : BasePart { //code }
Run Code Online (Sandbox Code Playgroud)

等等。我总是按基类列出它们:

List<BasePart> parts;
Run Code Online (Sandbox Code Playgroud)

我使用类型转换和泛型来做我想做的事情。然而,我需要过滤这个列表,并且我只想要其中可用的类型信息。并且只有一次用于类型。例如,如果我的列表有三个 Horizo​​ntalPanels 和两个 VerticalPanels,我想要从中得到的是List<Type>仅包含{HorizontalPanel, VerticalPanel}. 我想我可以在链式循环中摆弄对象本身以获得我想要的东西,但我确信 C# 有更好的方法来做到这一点。任何人?

c# reflection inheritance

0
推荐指数
1
解决办法
1107
查看次数