我正在编写一个Java程序来对文件进行一些计算.该程序支持3种类型的文件(文档,图像,视频),每种类型只允许几种格式:
enum DocType {
pdf, doc, docx, xls, xlsx, ppt, pptx
}
enum ImageType {
bmp, jpg, png, gif, ico
}
enum VideoType {
avi, mpg, mp4, wmv, mov, flv, swf, mkv
}
Run Code Online (Sandbox Code Playgroud)
在我的程序中的某些时候,无论文件类型如何,我都希望保留文件扩展名,这意味着我希望能够执行以下任何分配:
FileType fileExt = DocType.doc
FileType fileExt = ImageType.jpg
FileType fileExt = VideoType.mp4
Run Code Online (Sandbox Code Playgroud)
我怎样才能在Java中实现这种行为?我知道枚举不能扩展其他枚举,所以基本上优雅的解决方案是不可能的.
谢谢
我有大型的Javascript对象,我想为AWS Kinesis编码为base-64.事实证明:
let objStr = new Buffer(JSON.stringify(obj), 'ascii');
new Buffer(objStr, 'base64').toString('ascii') !== objStr
Run Code Online (Sandbox Code Playgroud)
我想尽量保持这个简单.
我如何base-64编码JSON并安全地将其解码回原始值?
你能解释一下我如何从NSInputStream中正确阅读?
我无法理解什么是UnsafePointer以及它的用途(也适用于UnsafeArray).
NSInputStream读取函数获取CMutablePointer,可以使用UnsafePointer对象填充该CMutablePointer.
与Java的Streams相比,这真是一团糟.
你会推荐什么 ?
谢谢!
如果我想连接到服务器,在Java中我会打开一个Socket并用端口和主机地址初始化它,然后检索输入/输出流并读/写我想要的任何内容.
在Swift中我很难这样做,因为它不是那样构建的,我真的希望看到一个如何连接到服务器,检索流并使用它们的简单示例.
这是经过@Grimxn引用的测试代码.
var host = "http://google.com"
var readStream :CFReadStreamRef
var writeStream :CFWriteSteamRef
var socket = CFStreamCreatePairWithSocketToHost(nil, host, 80, readStream, writeStream)
Run Code Online (Sandbox Code Playgroud)
初始化上面的两个流也需要使用我一无所知的CFAllocator.使用kCFAllocatorDefault没有太大帮助,相同的错误.
上面的代码返回此错误:无法将表达式的类型'Void'转换为类型UInt32.
例如,当我使用UInt32(80)构造UInt32时,错误是:找不到接受所提供参数的'init'的重载.
我感谢任何帮助!
当我构造一个类的实例时,我想触发令牌更新函数(async
方法)并让它在后台运行(我保留对返回的引用Task
).
稍后,当用户触发请求时,我想等待Task
.
让我们假设Task
在1秒后完成,并且用户在2秒后触发请求(这意味着Task
完成).
处理用户请求await
的方法是Task
,它会立即获得值吗?毕竟,Task
完成并保持价值.
我有一个AWS
Lambda函数对进行操作Kinesis Firehose
。该函数使用退避机制。(这时候我认为这浪费了我的计算时间)。
但是无论如何,在我的代码中的某些时候,我想使执行失败。我应该使用什么命令来使执行停止?
附言:我发现有一些命令,例如:
context.done()
context.succeed()
context.fail()
我必须告诉你,我无法找到有关这些命令中的任何文件AWS
的文件。
请看下面的代码:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
class Ge extends Greeter {
constructor(message: string) {
super(message);
}
greet() {
return "walla " + super.greet();
}
}
let greeter = new Ge("world");
console.log(greeter.greet()); // walla Hello, world
console.log((<Greeter> greeter).greet()); // walla Hello, world
Run Code Online (Sandbox Code Playgroud)
我希望第二个日志能够打印出来Hello, world
。查看转Javascript
码后的代码,我看到的是完全相同的命令,所以这并不奇怪。
真正的问题是,您如何greeter
转换为扩展类?
我有一个 asp.net 核心项目,它使用 NSwag 作为它的 Swagger 工具。我遇到的问题如下:
#
namespace SchedulerApi.Entities
{
public class JobCollectionDtoV2
{
[Required]
[FromRoute]
[RegularExpression("^[a-z][a-z0-9]+$")]
[StringLength(maximumLength: 24, MinimumLength = 3)]
public string Collection { get; set; }
[Required]
[FromRoute]
[RegularExpression("^[a-z][a-z0-9]+$")]
[StringLength(maximumLength: 24, MinimumLength = 3)]
public string Tenant { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
#
[HttpPut]
[Route("tenants/{tenant}/collections/{collection}")]
[SwaggerResponse(typeof(JobCollectionDtoV2))]
public async Task<IActionResult> CreateTask(JobCollectionDtoV2 collectionParams)
{
}
Run Code Online (Sandbox Code Playgroud)
#
{
"put": {
"tags": [
"JobCollectionsControllerV2" …
Run Code Online (Sandbox Code Playgroud) 我已经设置了一个新AWS Kinesis Firehose
流,并且想每周创建一个新索引。
为此,我应该Index Rotation
在配置流时使用设置。
但是,我是否必须在下一周的每个周末都获取新索引?如果不是(希望不是),如何Firehose
知道要使用什么映射?它是否使用我在设置中指定的索引中定义的映射Index
?
此外,假设我有旧数据,我可以Firehose
根据旧数据中指定的日期创建具有相关时间戳的索引吗?
谢谢 !
amazon-web-services amazon-kinesis aws-sdk amazon-kinesis-firehose
我正在使用NSInputStream来读取msgs.read方法以字节为单位返回msg,与Java中的相同.我想取字节并将其打印为char(例如在Java中println((char) 97) // prints "a"
)
我怎么会在Swift中这样做?
谢谢.
swift ×3
aws-sdk ×2
c# ×2
javascript ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
async-await ×1
asynchronous ×1
aws-lambda ×1
base64 ×1
byte ×1
casting ×1
char ×1
enums ×1
input ×1
java ×1
json ×1
node.js ×1
nsstream ×1
nswag ×1
output ×1
polymorphism ×1
sockets ×1
stream ×1
swagger ×1
typescript ×1