问题列表 - 第5266页

常量与受保护的静态只读

我有一个包装类,它封装了一条需要作为字节数组传输的信息。

这样,该类将必要的标头(带有 DATA_LENGTH 或 MESSAGE_TYPE 之类的字段)封装到相应的字节位置。为此,我想在常量中定义位置和长度,例如:

HEADER_DATA_LENGTH_IX = 0;
HEADER_DATA_LENGTH_LENGTH = 2;
Run Code Online (Sandbox Code Playgroud)

这意味着 DATA_LENGTH 从 0 开始并占用两个字节。

但到目前为止,我正在努力使它们成为常量或静态只读字段。常量不能被保护,因此如果使用它们,我将无法派生新类并更改常量,另一方面,我可能会在派生类中声明新常量并使用它们。

你的方法是什么?

.net c#

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

从Codepage 1252(Windows)转换为Java,Java

我有一些Java中的字符串(最初来自Excel工作表),我认为它在Windows 1252代码页中.我希望他们转换为Javas自己的unicode格式.如果重要的话,使用JXL包解析Excel文件.

我将澄清:显然,从Excel文件中获取的字符串看起来非常像它已经是某种unicode.

WorkbookSettings ws = new WorkbookSettings();
ws.setCharacterSet(someInteger);
Workbook workbook = Workbook.getWorkbook(new File(filename), ws);
Sheet s = workbook.getSheet(sheet); 
row = s.getRow(4);
String contents = row[0].getContents();
Run Code Online (Sandbox Code Playgroud)

这里的内容似乎包含unicode,åäö是多字节字符,而ASCII是正常的单字节字符.绝对不是拉丁文1.如果我用printLn打印"contents"字符串并将其重定向到hello.txt文件,我发现字母"ö"用两个字节表示,C3 B6用十六进制表示.(十进制195和179)

[编辑]

我尝试了下面给出的不同代码页等的建议,尝试从Cp1252等转换.有某种转换,因为我会得到一些其他类型的乱码.作为参考,我总是在源代码中打印一个"ö"字符串,以验证我的终端或字体或任何东西没有问题.手动输入的"ö"始终有效.

[编辑]

我也按照评论中的建议尝试了WorkBookSettings,但我查看了JXL的代码,并且通过解析代码似乎忽略了characterSet.我认为解析代码只是查看XLS文件应该在的任何编码.

java windows unicode codepages

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

是sed阻止?

我的印象是sed没有阻挡,因为我说的时候:

iostat | sed
Run Code Online (Sandbox Code Playgroud)

sed 在数据到达时处理数据,但是当我这样做时

iostat | sed | netcat
Run Code Online (Sandbox Code Playgroud)

然后sednetcat.

我对吗?

unix sed pipe netcat

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

如何在SVN中运行更新而不会引起许多冲突

我正在使用SVN在一个由四人组成的团队中开发一些软件.

每当我更新我的工作副本时,它会产生比我预期的更多冲突,大量的冲突就像这样:

如果是最初的

 import Class1
Run Code Online (Sandbox Code Playgroud)

我把它改成了

import Class1
import Class2
Run Code Online (Sandbox Code Playgroud)

而另一个团队成员将代码更改为

import Class1
import Class3
Run Code Online (Sandbox Code Playgroud)

Subversion不会合并所有三行.

我想这是因为subversion不知道代码的语义内容,因此无法决定何时/不适合这样做.

我得到的另一个冲突是如果我更换

processA();
processB();
Run Code Online (Sandbox Code Playgroud)

用:

if(x){
  processA();
  processB();
}
Run Code Online (Sandbox Code Playgroud)

整个事情被标记为一个变化,没有办法让它突出显示只有(x)被添加到上方/下方的事实.在这样的情况下,我必须分析新块内的整行,并担心遗漏内部线条的微小变化.

问题是,在这些情况下,我的团队是否有更有效的方式使用SVN,我的大部分时间用于合并.

很抱歉因为我的表情如此长久,感谢阅读.

java svn

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

如何在加载解决方案时检测加载项?

我的加载项如何检测加载解决方案的时间?我知道在DTE模型中必定会有某些事件,但我找不到它.我的加载项在Visual Studio加载时加载,但它取决于打开的解决方案.我不想把它变成一个解决方案加载项,直到MS在COM上失去了他们的生病固定,因为解决方案加载项必须是COM组件.

visual-studio-2008 visual-studio

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

SO_REUSEADDR的用例是什么?

我曾经SO_REUSEADDR让我的服务器终止重启而没有抱怨套接字已经在使用中.我想知道是否有其他用途SO_REUSEADDR?有没有人使用套接字选项除了上述目的?

c sockets udp tcp

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

"数据按摩"是什么意思?

我正在做一些阅读,如果我的应用程序不需要在发送到SQL之前按摩数据,就会遇到避免使用internalStore.什么是数据按摩?

.net c# sql asp.net database-design

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

检查Variant值"Nothing"

这是我去年遇到的事情,所以SO似乎是一个记录它的好地方:)

问:当从Delphi自动化Excel(/ Word/...)时,如何检查Excel函数是否返回变量Nothing(因为它在VBA中调用)?

delphi excel automation ms-office

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

我可以在C#中阅读Outlook(2003/2007)PST文件吗?

是否可以使用C#读取.PST文件?我想将此作为一个独立的应用程序,而不是作为Outlook插件(如果可能的话).

如果已经看到类似于提及MailNavigator的其他 SO 问题 ,但我希望在C#中以编程方式执行此操作.

我查看了Microsoft.Office.Interop.Outlook命名空间,但它似乎只适用于Outlook插件.LibPST似乎能够读取PST文件,但这是在C中(对不起Joel,我毕业前没有学过C).

任何帮助将不胜感激,谢谢!

编辑:

谢谢大家的回复!我接受了Matthew Ruston的回答作为答案,因为它最终导致我找到了我正在寻找的代码.这是我工作的一个简单示例(您需要添加对Microsoft.Office.Interop.Outlook的引用):

using System;
using System.Collections.Generic;
using Microsoft.Office.Interop.Outlook;

namespace PSTReader {
    class Program {
        static void Main () {
            try {
                IEnumerable<MailItem> mailItems = readPst(@"C:\temp\PST\Test.pst", "Test PST");
                foreach (MailItem mailItem in mailItems) {
                    Console.WriteLine(mailItem.SenderName + " - " + mailItem.Subject);
                }
            } catch (System.Exception ex) {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }

        private static IEnumerable<MailItem> readPst(string pstFilePath, string pstName) {
            List<MailItem> mailItems …
Run Code Online (Sandbox Code Playgroud)

c# outlook pst outlook-2007 outlook-2003

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

如何让这个Python递归函数返回一个平面列表?

看看这个简单的功能

def prime_factors(n):
    for i in range(2,n):
      if n % i == 0:
        return i, prime_factors(n / i)
    return n
Run Code Online (Sandbox Code Playgroud)

这是结果 prime_factors(120)

(2, (2, (2, (3, 5))))
Run Code Online (Sandbox Code Playgroud)

我希望它返回一个扁平元组或列表,而不是嵌套元组.

(2, 2, 2, 3, 5)
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?

python recursion

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