问题列表 - 第19987页

如何确定BufferedReader的确切状态?

我有BufferedReader(生成new BufferedReader(new InputStreamReader(process.getInputStream()))).我对a的概念很陌生,BufferedReader但正如我所看到的,它有三种状态:

  1. 一条线正在等待阅读; 调用bufferedReader.readLine将立即返回此字符串.
  2. 流是开放的,但没有线等待阅读; 调用bufferedReader.readLine将挂起线程,直到一行可用.
  3. 溪流关闭; 调用bufferedReader.readLine将返回null.

现在我想确定状态BufferedReader,以便我可以确定是否可以安全地从中读取而不挂起我的应用程序.基本过程(见上文)众所周知是不可靠的,因此可能已经挂起; 在这种情况下,我不希望我的宿主应用程序挂起.因此我正在实施一种超时.我试图首先使用线程进行此操作,但它变得非常复杂.

呼叫BufferedReader.ready()不会区分上述情况(2)和(3).换句话说,如果ready()返回false,则可能是流刚刚关闭(换句话说,我的底层进程正常关闭),或者可能是底层进程挂起.

所以我的问题是:如何BufferedReader在不实际调用的情况下确定我所处的这三种状态中的哪一种readLine?不幸的是,我不能打电话readLine来检查这个,因为它打开我的应用程序挂起.

我使用的是JDK 1.5版.

java io

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

Nginx proxy_pass到密码保护上游

我想将请求传递给上游服务器.原始URL不受密码保护,但上游服务器是.我需要在请求中注入Basic auth用户名/密码,但在执行时会出错:

upstream supportbackend {
       server username:password@support.yadayada.com;
}
Run Code Online (Sandbox Code Playgroud)

upstream supportbackend {
       server support.yadayada.com;
}

location /deleteuser {
    proxy_pass http://username:password@supportbackend;
}
Run Code Online (Sandbox Code Playgroud)

proxy nginx basic-authentication

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

如何快速混淆Java代码?

如何快速混淆代码.我有一个非常小的Java应用程序,我想将混淆的代码传递给我的客户端.我听说过很多关于ProGuard混淆代码并已下载但却不知道如何混淆我的"abc.jar"文件.

我查看了它的网站,但它包含了很多要阅读的资料.我不需要沉重的混淆.我只需要一个混淆,只需将变量,方法和类的名称更改为一些不可读的名称.我知道ProGuard也提供了所有这些功能.

Q1.所以任何人都可以告诉我一些简单的混淆器或一些简单的步骤来使用proguard,这样我就可以输入"abc.jar"并输出"obfuscate_abc.jar"或类似的东西.

Q2.还有一件事,因为我的Java程序使用外部库,所以我是否还需要对这些库进行模糊处理?

Q3.是否有任何Eclipse或NetBeans插件可用于此混淆?

我还听说我们应该保留映射表文件,以便将来我们可以通过在混淆时创建的映射表的帮助下首先进行去混淆来调试或编辑混淆的代码.

Q4.那么,还有一个问题是为什么我们需要与我们保持映射表?我们可以简单地保留未混淆的应用程序的副本,以便对其进行更改(如果将来需要).有没有理由保留我们的映射表文件?

java obfuscation proguard

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

如何使用PHP检索HTML标记内的干净文本?

我有一个接受HTML数据的表单,但我们只需要各自的文本,而不是其他任何文本.是否有任何特定的方法从PHP中提取HTML文本?

html php

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

我的ripemd160 python代码出了什么问题?

我尝试的一切都给了我错误的输出值.我甚至复制了C代码并更改了它们,以便它们可以在python中工作,我仍然得到错误的输出.怎么了?

import os, math

def makehex(value,size=8):
    value = hex(value)[2:]
    if value[-1] == 'L':
        value = value[0:-1]
    while len(value)<size:
        value = '0' + value
    return value

def makebin(value,size=32):
    value = bin(value)[2:]
    while len(value)<size:
        value = '0' + value
    return value

def ROL(value,n):
    return (value << n) | (value >> 32-n)

def little_end(string,base = 16):
    t = ''
    if base == 2:
        s= 8
    if base == 16:
        s = 2
    for x in range(len(string)/s):
        t = string[s*x:s*(x+1)] + t
    return t …
Run Code Online (Sandbox Code Playgroud)

python cryptography ripemd

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

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

cwRsync在Windows 7上忽略"nontsec"

我使用cwRsync将一些文件从Windows同步到Ubuntu.这个过程曾经在Vista上运行良好,但自从我升级到Windows7后,我不断遇到权限问题.

一些背景...我确实用过在Vista上获得相同的权限问题,但是通过使用CYGWIN=nontsec环境变量解决了这个问题.

预备问题

rsync: failed to modify permissions on xxx: Permission denied (13)
Run Code Online (Sandbox Code Playgroud)

由于Windows和UNIX文件权限不同,因此使用Windows权限同步文件没有意义.rsync的作用是将UNIX端的权限设置为0(d---------).为了防止这种情况,cygwin有一个nontsec变量,指示它忽略Windows文件的权限.

问题是,在Windows7上,nontsec似乎没有任何影响.

permissions cwrsync windows-7

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

如何在.NET中检查值类型之间的"安全"转换?

回到基础......

对于参考类型,可以这样做:

        SomeType someObject = firstObject as SomeType;
        if (someObject == null)
        {
            // Handle the situation gracefully
        }
        else
        {
            // Do stuff
        }
Run Code Online (Sandbox Code Playgroud)

对于值类型,我的理解是我们有隐式转换(没有数据丢失),显式转换(如果存在数据丢失的风险需要),Convert类(我认为是"转换包装器")以及类型特定的转换(例如double x = Double.Parse("2");),但我没有发现任何类似于as上面的操作符.

所以,我的问题是:框架是否提供了一些方法/操作符/技术来执行以下操作:

        if (!Convert.CanConvert(someValue, someValueType))
        {
            // Beware! Data loss can occur
        }
        else
        {
            // No data loss here
        }
Run Code Online (Sandbox Code Playgroud)

如果没有,那么任何人都可以建议一个可靠的方法来构建一个这样的CanConvert方法吗?

非常感谢!

编辑(1):用户案例/问题如下:给定代码的消费者传递的东西(我的另一个自己,但这是无关紧要的),(1)检查某事是否是一个数字(足够简单)和(2)将某些东西放在适合的"最小"数字类型中,而不会导致数据丢失.

一些背景:我正在尝试做的事情的本质是数学而不是技术:我试图看看是否/如何将现有的数字类型拟合成某种形式的代数层次结构Monoid => Group => Ring => Field(或其简化版本).在努力解决这个问题时,并不是很确定,"有一件事导致了另一件事",我发现自己不得不处理类型转换......

.net math algebra

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

Rhino Mocks AAA快速入门?

我一直在寻找有关使用Rhino Mocks 3.5+和AAA语法的一些不错的信息.我发现很多博客都混合了旧的和新的东西,似乎更难以弄清楚如何使用它.

如果有一个像早期版本那样的Rhino Mocks AAA Cheat Sheet,那将会很棒.您是否需要了解有关旧版Rhino的所有内容才能真正使用新版本?我敢肯定,如果我是专家,我会喜欢Rhino的所有功能,但是现在我只是在游泳信息.任何指针或良好的链接将完全赞赏!

c# unit-testing rhino-mocks arrange-act-assert

11
推荐指数
2
解决办法
5486
查看次数

如何在python中实现接口?

public interface IInterface
{
    void show();
}

 public class MyClass : IInterface
{

    #region IInterface Members

    public void show()
    {
        Console.WriteLine("Hello World!");
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

如何实现Python等效的C#代码?

class IInterface(object):
    def __init__(self):
        pass

    def show(self):
        raise Exception("NotImplementedException")


class MyClass(IInterface):
   def __init__(self):
       IInterface.__init__(self)

   def show(self):
       print 'Hello World!'
Run Code Online (Sandbox Code Playgroud)

这是一个好主意吗??请在答案中举例说明.

python oop

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