问题列表 - 第5530页

如何从Java中的字符串值获取枚举值?

说我有一个只是的枚举

public enum Blah {
    A, B, C, D
}
Run Code Online (Sandbox Code Playgroud)

我想找到一个字符串的枚举值,例如"A",这将是Blah.A.怎么可能这样做?

Enum.valueOf()我需要的方法是什么?如果是这样,我将如何使用它?

java enums

1890
推荐指数
22
解决办法
106万
查看次数

C++从文件流中读取unsigned char

我想从二进制文件中读取无符号字节.所以我写了下面的代码.

#include <iostream>
#include <fstream>
#include <vector>
#include <istream>

std::string filename("file");
size_t bytesAvailable = 128;
size_t toRead = 128;

std::basic_ifstream<unsigned char> inf(filename.c_str(), std::ios_base::in | std::ios_base::binary) ;
if (inF.good())
{
    std::vector<unsigned char> mDataBuffer;
    mDataBuffer.resize(bytesAvailable) ;
    inF.read(&mDataBuffer[0], toRead) ;
    size_t counted = inF.gcount() ;
}
Run Code Online (Sandbox Code Playgroud)

这导致读取始终为0字节,如计数变量所示.

网上似乎有一些引用说我需要设置语言环境才能使其正常工作.如何做到这一点对我来说并不清楚.

相同的代码使用数据类型'char'而不是'unsigned char'

上面使用unsigned char的代码似乎可以在Windows上运行,但无法在colinux Fedora 2.6.22.18中运行.

为了让它适用于linux,我需要做些什么?

c++ file-io stream ifstream

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

如何在Perl中解析JSON日期格式?

如何解析我的Web服务在Perl中以JSON格式接收的日期格式?我想将它转换为DateTime对象:

Date(1216647000000-0400)
Run Code Online (Sandbox Code Playgroud)

我假设自纪元以来它是毫秒以及时区偏移,但日期是偏离的.

perl json

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

jQuery幻灯片切换不工作 - 已解决

在第一次单击时,它按预期工作:

  1. 班级改变了
  2. 并且html内容从"显示..."更改为"关闭..."
  3. 使用slideDown效果扩展内容区域,

目前很好.

在第二次点击,...

  1. 班级改变了
  2. html内容从"关闭..."更改为"显示..."
  3. 内容区域不会按预期消失.

在第三次点击,...

  1. 班级改变了
  2. html内容已更改
  3. 已经显示的内容以滑动效果重新显示.

因此,当内容应该再次隐藏时,除了第二次单击之外,一切正常.

这是jQuery:

-

$('.open_user_urls').live('click', function() {
    $('#user_urls').slideDown('slow');
    $(this).addClass('close_user_urls');
    $(this).removeClass('open_user_urls');
    $(this).html('Close Search History');
    return false;
});

$('.close_user_urls').live('click', function() {
    $('#user_urls').slideUp('slow');
    $(this).addClass('open_user_urls');
    $(this).removeClass('close_user_urls');
    $(this).html('Show Search History');
    return false;
}); 
Run Code Online (Sandbox Code Playgroud)

这是它所采用的HTML:

<h3 class='open_user_urls'>Show Search History</h3>
<div id='user_urls'>
// an OL tag with content
</div>
Run Code Online (Sandbox Code Playgroud)

唯一适用的CSS:

#user_urls { display: none; }
Run Code Online (Sandbox Code Playgroud)

编辑 - 我用下面的答案中提供的功能等效代码替换了我的jquery代码,但问题仍然存在.所以原因必须在别处.我记得这个代码最初工作,但后来停止了.我很难过.是时候把一切都剥掉了......

编辑2 - 由于bug必须在别处,我接受我的jquery的代码改进作为答案.谢谢.

编辑3 - 找到问题的根源.

在#user_urls div中,我有一系列带有以下css的OL:

.url_list {float: left; width: 285px; list-style-position: outside; margin-left: 25px;} …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

强制FileNotFoundException

我正在为一段代码编写测试,其中包含一个IOException catch,我试图覆盖它.try/catch看起来像这样:

try {
    oos = new ObjectOutputStream(new FileOutputStream(cacheFileName));
} catch (IOException e) {
    LOGGER.error("Bad news!", e);
} finally {
Run Code Online (Sandbox Code Playgroud)

最简单的方法似乎是让FileOutputStream抛出一个FileNotFoundException,但也许我会以错误的方式解决这个问题.

有人在那里有任何提示吗?

java testing junit filenotfoundexception ioexception

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

如何用CAS拒绝断言?

在这段代码中,我希望禁止ReadFileSystem方法断言文件系统的权限.

我预计这将抛出fileIo.Assert(),但事实并非如此.为什么?

using System.Security.Permissions;
static void Main(string[] args)
{
    var fileIo = new FileIOPermission(PermissionState.Unrestricted);
    var secuPerm = new SecurityPermission(SecurityPermissionFlag.Assertion);
    PermissionSet set = new PermissionSet(PermissionState.Unrestricted);
    set.AddPermission(fileIo);
    set.AddPermission(secuPerm);
    set.Deny();
    ReadFileSystem();
    Console.Read();
}

private static void ReadFileSystem()
{
    var fileIo = newFileIOPermission(PermissionState.Unrestricted);
    fileIo.Assert();

    DirectoryInfo dir = new DirectoryInfo("C:/");
    dir.GetDirectories();
}
Run Code Online (Sandbox Code Playgroud)

更新

CAS上有很棒的链接:http://blogs.msdn.com/shawnfa/archive/2004/08/25/220458.aspx

.net permissions cas

4
推荐指数
1
解决办法
902
查看次数

使用快速傅里叶变换分析音频

我正在尝试在python中创建一个图形频谱分析器.

我目前正在读取1024字节的16位双通道44,100 Hz采样率音频流,并将两个通道的幅度平均在一起.所以现在我有256个签名短裤阵列.我现在想要使用像numpy这样的模块在该阵列上预先形成一个fft,然后使用结果创建图形频谱分析器,开始时只需32个小节.

我已经阅读了关于快速傅里叶变换和离散傅里叶变换的维基百科文章,但我仍然不清楚结果数组代表什么.这是我使用numpy在我的数组上执行fft后数组的样子:

   [ -3.37260500e+05 +0.00000000e+00j   7.11787022e+05 +1.70667403e+04j
   4.10040193e+05 +3.28653370e+05j   9.90933073e+04 +1.60555003e+05j
   2.28787050e+05 +3.24141951e+05j   2.09781047e+04 +2.31063376e+05j
  -2.15941453e+05 +1.63773851e+05j  -7.07833051e+04 +1.52467334e+05j
  -1.37440802e+05 +6.28107674e+04j  -7.07536614e+03 +5.55634993e+03j
  -4.31009964e+04 -1.74891657e+05j   1.39384348e+05 +1.95956947e+04j
   1.73613033e+05 +1.16883207e+05j   1.15610357e+05 -2.62619884e+04j
  -2.05469722e+05 +1.71343186e+05j  -1.56779748e+04 +1.51258101e+05j
  -2.08639913e+05 +6.07372799e+04j  -2.90623668e+05 -2.79550838e+05j
  -1.68112214e+05 +4.47877871e+04j  -1.21289916e+03 +1.18397979e+05j
  -1.55779104e+05 +5.06852464e+04j   1.95309737e+05 +1.93876325e+04j
  -2.80400414e+05 +6.90079265e+04j   1.25892113e+04 -1.39293422e+05j
   3.10709174e+04 -1.35248953e+05j   1.31003438e+05 +1.90799303e+05j...
Run Code Online (Sandbox Code Playgroud)

我想知道这些数字究竟代表什么,以及我如何将这些数字转换为32个柱中每一个的高度百分比.另外,我应该将2个频道平均在一起吗?

python audio signal-processing fft spectrum

107
推荐指数
3
解决办法
6万
查看次数

使用WCF支持"application/x-www-form-urlencoded"发布数据的最佳方式?

我正在构建基于W3C规范的WCF服务,该规范定义了一个接受"application/x-www-form-urlencoded"发布数据的RESTful Web服务端点.默认情况下,WCF不支持这种类型的消息编码,我发现了许多创建合同的不同示例,如下所示:

XElement Query_Post(Stream postData);
Run Code Online (Sandbox Code Playgroud)

然后在实现中postData使用该HttpUtility.ParseQueryString方法解码流.

有没有人知道在WCF中支持"application/x-www-form-urlencoded"的更强类型的方式?

我希望我的运营合同是:

XElement Query_Post(string query, string [] params);
Run Code Online (Sandbox Code Playgroud)

rest wcf post web-services http

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

如何避免Java正则表达式匹配中的隐式"^"和"$"?

我一直在努力在Java 1.4.2中做一些相对简单的正则表达式匹配.我对Perl的做事方式更加满意.这是发生了什么:

我试图匹配/ ^ <foo> /来自"<foo> <bar>"

我尝试:

Pattern myPattern= Pattern.compile("^<foo>");
Matcher myMatcher= myPattern.matcher("<foo><bar>");
System.out.println(myMatcher.matches());
Run Code Online (Sandbox Code Playgroud)

我得到"假"

我习惯说:

print "<foo><bar>" =~ /^<foo>/;
Run Code Online (Sandbox Code Playgroud)

这确实是真的.

经过大量的搜索和实验,我发现了这个说:

"String方法通过在模式之前放置一个不可见的^并在它之后放置$来进一步优化其搜索条件."

当我尝试:

Pattern myPattern= Pattern.compile("^<foo>.*");
Matcher myMatcher= myPattern.matcher("<foo><bar>");
System.out.println(myMatcher.matches());
Run Code Online (Sandbox Code Playgroud)

然后它返回预期的true.我不想要这种模式.终止.*不应该是必要的.

然后我发现了Matcher.useAnchoringBounds(boolean)方法.我认为明确告诉它不使用锚定边界会起作用.它没.我试过发一个

myMatcher.reset();
Run Code Online (Sandbox Code Playgroud)

以防我在关闭属性后需要冲洗它.没运气.随后调用.matches()仍然返回false.

我忽略了什么?

编辑:嗯,这很简单,谢谢.

java regex

4
推荐指数
1
解决办法
709
查看次数

在枚举时插入队列

我想使用Queue对树进行广度优先搜索

var q = new Queue<T>();

q.Enqueue(Root);

foreach(T root in q)
{
  foreach(T t in root.Children)
    q.Enqueue(t);
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了"在实例化枚举器之后修改了集合".例外.

我可以用C#类型吗?


编辑:一点点阅读让我觉得我可能做错了.

有没有办法使用foreach从队列中出队?


这工作但很难看(OMHO)

var q = new Queue<T>();

q.Enqueue(Root);

while(q.Count > 0)
{
  T root = q.Dequeue();
  foreach(T t in root.Children)
    q.Enqueue(t);
}
Run Code Online (Sandbox Code Playgroud)

c# queue breadth-first-search data-structures

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